Skip to content
OpenAdvisories
High · 8.7 CVE-2026-46636 EUVD-2026-71779

Twig: Sandbox method allowlist bypass via `Markup` subclass

Published Sep 4, 2026 · Updated Sep 8, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
twigphp Twig >= 1.0.0, < 3.27.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 php-twig 3.27.0-1 —
Debian 13 php-twig 3.27.0-0+deb13u1 —
Debian 12 php-twig No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 php-twig No fix yet —
Ubuntu 25.10 php-twig No fix yet —
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS php-twig No fix yet —
Ubuntu Pro 24.04 LTS php-twig No fix yet —
Ubuntu Pro 22.04 LTS php-twig No fix yet —
Ubuntu Pro 20.04 LTS php-twig No fix yet —

References