All vulnerabilities
CVE-2026-46633GHSA-7p85-w9px-jpjp

Twig: PHP code injection via `{% use %}` template name

twigphp TwigPackagistLibraries & packages
CVSS
8.7High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.69%Chance of exploitation activity in the next 30 days, higher than 52% of CVEs. Scored 24 Oct 2026FIRST EPSS
Fixed in3.26.0Fixed versionOSV
Published14 Jul 2026Updated 10 Sep 2026CVE List

What fixes it

  • 3.26.0twig/twig, PackagistOSVcomposer require "twig/twig:^3.26.0"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Reports 2

2 outlets mention it. Reports are not confirmation; each links to its source.

Description

Twig is a template language for PHP. Prior to 3.26.0, Compiler::string() does not escape single quotes when a template name from a {% use %} tag is placed inside a PHP single-quoted string literal, allowing a crafted template name to terminate the string and inject arbitrary PHP expressions into the compiled cache file. This issue is fixed in version 3.26.0.

Text from CVE List

Affected versions 52

  • Twigaffected: < 3.26.0CVE List
  • twig/twig, Packagistfrom first release, fixed in 3.26.0OSV
  • twig/twig, Packagist1.3.0OSV
  • twig/twig, Packagist1.4.0OSV
  • twig/twig, Packagist1.5.0OSV
  • twig/twig, Packagist1.5.1OSV
  • twig/twig, Packagist1.6.0OSV
  • twig/twig, Packagist1.6.1OSV
  • twig/twig, Packagist1.6.2OSV
  • twig/twig, Packagist1.6.3OSV
  • twig/twig, Packagist1.6.4OSV
  • twig/twig, Packagist1.6.5OSV
  • twig/twig, Packagistv1.10.0OSV
  • twig/twig, Packagistv1.10.1OSV
  • twig/twig, Packagistv1.10.2OSV
  • twig/twig, Packagistv1.10.3OSV
  • twig/twig, Packagistv1.11.0OSV
  • twig/twig, Packagistv1.11.1OSV
  • twig/twig, Packagistv1.12.0OSV
  • twig/twig, Packagistv1.12.0-RC1OSV
  • twig/twig, Packagistv1.12.1OSV
  • twig/twig, Packagistv1.12.2OSV
  • twig/twig, Packagistv1.12.3OSV
  • twig/twig, Packagistv1.13.0OSV
  • twig/twig, Packagistv1.13.1OSV
  • twig/twig, Packagistv1.13.2OSV
  • twig/twig, Packagistv1.14.0OSV
  • twig/twig, Packagistv1.14.1OSV
  • twig/twig, Packagistv1.14.2OSV
  • twig/twig, Packagistv1.15.0OSV
  • twig/twig, Packagistv1.15.1OSV
  • twig/twig, Packagistv1.16.0OSV
  • twig/twig, Packagistv1.16.1OSV
  • twig/twig, Packagistv1.16.2OSV
  • twig/twig, Packagistv1.16.3OSV
  • twig/twig, Packagistv1.17.0OSV
  • twig/twig, Packagistv1.18.0OSV
  • twig/twig, Packagistv1.18.1OSV
  • twig/twig, Packagistv1.18.2OSV
  • twig/twig, Packagistv1.19.0OSV
  • twig/twig, Packagistv1.20.0OSV
  • twig/twig, Packagistv1.21.0OSV
  • twig/twig, Packagistv1.21.1OSV
  • twig/twig, Packagistv1.21.2OSV
  • twig/twig, Packagistv1.22.0OSV
  • twig/twig, Packagistv1.22.1OSV
  • twig/twig, Packagistv1.22.2OSV
  • twig/twig, Packagistv1.22.3OSV
  • twig/twig, Packagistv1.23.0OSV
  • twig/twig, Packagistv1.23.1OSV
  • twig/twig, Packagistv1.23.2OSV
  • twig/twig, Packagistv1.23.3OSV

References 4