Description
Craft CMS versions >= 5.0.0-RC1 before 5.10.6 and >= 4.0.0-RC1 before 4.18.2 interpolate environment variables and secrets (via ${ENV_VAR} strings in the elementId parameter) into Twig templates before rendering, even when the Twig sandbox is enabled. An authenticated attacker with control panel access can render a malicious sandboxed Twig template and, using a blind error-based technique across many requests, incrementally leak arbitrary environment variables and secrets. These can be abused to forge sessions (via CRAFT_SECURITY_KEY), escalate privileges, and steal database, SMTP, API, or blob storage credentials. Fixed in 5.10.6 and 4.18.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| craftcms | cms | 5.0.0-RC1 – < 5.10.6, 4.0.0-RC1 – < 4.18.2 | 5.10.6 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | craftcms/cms | >= 5.0.0-RC1, < 5.10.6 | 5.10.6 | GHSA-596p-6jv8-775v |
| Packagist | craftcms/cms | >= 4.0.0-RC1, < 4.18.2 | 4.18.2 | GHSA-596p-6jv8-775v |
References
- GitHub Security Advisory (GHSA-596p-6jv8-775v) vendor-advisory
- VulnCheck Advisory: Craft CMS 5.0.0-RC1 before 5.10.6 Environment Variable Leak third-party-advisory