Skip to content
OpenAdvisories
High · 8.7 CVE-2026-46640 EUVD-2026-44569GHSA-45vw-wh46-2vx8

Twig: Arbitrary PHP code execution via `_self.(<string>)` macro-reference compilation

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

Description

Twig is a template language for PHP. From 3.15.0 until 3.26.0, _self.(<string>) and import-alias dynamic attribute syntax can concatenate an attacker-controlled string into a MacroReferenceExpression name without identifier validation, causing raw PHP to be emitted into the generated template source and executed at template-load time. This issue is fixed in version 3.26.0.

Affected products

VendorProductAffectedFixed
twigphp Twig >= 3.15.0, < 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 —
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.15.0, < 3.26.0 3.26.0 GHSA-45vw-wh46-2vx8

References