Skip to content
OpenAdvisories
High · 7.1 CVE-2026-47732 EUVD-2026-44555GHSA-pr2w-4gpj-cpq4

Twig Sandbox: multiple `__toString()` policy bypasses via unguarded string coercion points

Published Jul 14, 2026 · Updated Jul 15, 2026 · Assigned by GitHub_M

Description

Twig is a template language for PHP. Prior to 3.26.0, several Twig language constructs trigger PHP string coercion on a Stringable operand without consulting SecurityPolicy::checkMethodAllowed(), allowing a sandboxed template author to invoke __toString() on objects reachable in the render context through conditional expressions, comparison operators, tests, template-loading tags, dynamic attribute names, spread arguments, the do tag, and the .. range operator. This issue is fixed in version 3.26.0.

Affected products

VendorProductAffectedFixed
twigphp Twig < 3.26.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.26.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 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist twig/twig < 3.26.0 3.26.0 GHSA-pr2w-4gpj-cpq4

References