Skip to content
OpenAdvisories
High · 7.1 CVE-2026-48807 EUVD-2026-44514GHSA-8x9c-rmqh-456c

Twig: Sandbox `__toString()` policy bypass via `Traversable` in `join` and `replace` filters

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

Description

Twig is a template language for PHP. Prior to 3.27.0, the sandbox __toString() checks do not fully cover Traversable values passed to join and replace filters or operands evaluated by the in and not in operators, allowing contained Stringable objects to be coerced to strings without consulting the sandbox policy. This issue is fixed in version 3.27.0.

Affected products

VendorProductAffectedFixed
twigphp Twig < 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 —
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.27.0 3.27.0 GHSA-8x9c-rmqh-456c

References