CVE-2026-46636
CVE-2026-46636 · Twig: Sandbox method allowlist bypass via `Markup` subclass
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Twig is a template language for PHP. From version 1.0.0 to before version 3.27.0, SecurityPolicy::checkMethodAllowed() unconditionally whitelists all method calls on instances of Twig\Markup. Twig\Markup is not final, so subclasses inherit the bypass. An application that passes an object of a Markup-derived class into a sandboxed template (typically to mark a chunk of HTML as safe) inadvertently exposes every public method of that subclass to template authors, regardless of the configured allowedMethods list. This issue has been patched in version 3.27.0.
CVSS 8.7 · High · EPSS 0.6% · Fix available
- Published
- Updated
Stack: system
Affected products and versions
twig
- Versions
- >= 1.0.0, < 3.27.0: Affected
No fix published
php-twig Debian:12
- Versions
- 3.10.1-1
- 3.10.3-1
- 3.11.0-1
- 3.13.0-1
- 3.14.0-1
- 3.14.0-2
- 3.14.0-3
- 3.14.0-4
- 3.14.2-1
- 3.14.2-2
- 3.14.2-3
- 3.15.0-1
- 3.15.0-2
- 3.17.1-1
- 3.17.1-2
- 3.18.0-1
- 3.18.0-2
- 3.18.0-4
- 3.18.0-5
- 3.18.0-6
- 3.18.0-7
- 3.19.0-1
- 3.19.0-1~bootstrap
- 3.20.0-1
- 3.20.0-1~bootstrap
- 3.20.0-2
- 3.21.1-1
- 3.21.1-2
- 3.21.1-3
- 3.22.0-1
- 3.22.0-2
- 3.22.1-1
- 3.22.1-2
- 3.22.1-3
- 3.22.2-1
- 3.22.2-2
- 3.23.0-1
- 3.23.0-2
- 3.24.0-1
- 3.26.0-1
- 3.27.0-1
- 3.27.1-1
- 3.28.0-1
- 3.5.1-1
- 3.5.1-1+deb12u1
- 3.5.1-1+deb12u2
- 3.5.1-1+deb12u3
- 3.6.0-1
- 3.6.1-1
- 3.7.0-1
- 3.7.1-1
- 3.7.1-2
- 3.7.1-3
- 3.8.0-1
- 3.8.0-2
- 3.8.0-3
- 3.8.0-4
- 3.9.3-1
- 4.0.0~alpha1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Debian:13
- Versions
- 3.20.0-2
- 3.21.1-1
- 3.21.1-2
- 3.21.1-3
- 3.22.0-1
- 3.22.0-2
- 3.22.1-1
- 3.22.1-2
- 3.22.1-3
- 3.22.2-1
- 3.22.2-2
- 3.23.0-1
- 3.23.0-2
- 3.24.0-1
- 3.26.0-0+deb13u1
- 3.26.0-1
- Affected ranges
- ECOSYSTEM: < 3.27.0-0+deb13u1
Update to 3.27.0-0+deb13u1
php-twig Debian:14
- Versions
- 3.20.0-2
- 3.21.1-1
- 3.21.1-2
- 3.21.1-3
- 3.22.0-1
- 3.22.0-2
- 3.22.1-1
- 3.22.1-2
- 3.22.1-3
- 3.22.2-1
- 3.22.2-2
- 3.23.0-1
- 3.23.0-2
- 3.24.0-1
- 3.26.0-1
- Affected ranges
- ECOSYSTEM: < 3.27.0-1
Update to 3.27.0-1
php-twig Ubuntu:Pro:20.04:LTS
- Versions
- 2.11.3-2
- 2.12.1-1
- 2.12.2-1
- 2.12.3-1
- 2.12.5-1
- 2.12.5-1ubuntu0.1~esm1
- 2.12.5-1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Ubuntu:Pro:22.04:LTS
- Versions
- 3.3.2-1ubuntu3
- 3.3.4-1
- 3.3.6-1
- 3.3.7-1
- 3.3.8-2ubuntu4
- 3.3.8-2ubuntu4+esm1
- 3.3.8-2ubuntu4+esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Ubuntu:Pro:24.04:LTS
- Versions
- 3.7.0-1
- 3.7.1-1
- 3.8.0-2
- 3.8.0-2ubuntu0.1~esm1
- 3.8.0-2ubuntu1
- 3.8.0-2ubuntu1+esm1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Ubuntu:25.10
- Versions
- 3.20.0-2ubuntu1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Ubuntu:26.10
- Versions
- 3.23.0-2build7
- 3.27.1-1
- 3.28.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
php-twig Ubuntu:Pro:26.04:LTS
- Versions
- 3.20.0-2ubuntu1
- 3.23.0-2build5
- 3.23.0-2build7
- 3.23.0-2ubuntu0.1~esm1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/twigphp/Twig/security/advisories/GHSA-64jr-qjx4-w2fh
- https://security-tracker.debian.org/tracker/CVE-2026-46636
- https://security-tracker.debian.org/tracker/DSA-6311-1
- https://symfony.com/blog/cve-2026-46636-sandbox-filter-tag-and-function-allow-list-bypass-when-sandbox-state-changes-between-renders
- http://github.com/twigphp/Twig/releases/tag/v3.27.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-46636