CVE-2026-46634 Twig: `template_from_string()` escapes a SourcePolicy-driven sandbox via synthesized template name

High 7.7 Published Updated

Attackers can bypass Twig's SourcePolicy sandbox restrictions by using template_from_string to render unsecured inner templates.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-46634?

CVE-2026-46634 is a high-severity vulnerability in twigphp Twig, published on 14 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Twig is a template language for PHP. From 3.9.0 until 3.26.0, template_from_string() compiles an inner template under a synthesized __string_template__<hash> name that can fall outside a SourcePolicyInterface sandbox decision, allowing a sandboxed template that can call template_from_string and include to render an inner template without security policy enforcement. This issue is fixed in version 3.26.0.

Weakness: CWE-693

Which versions are affected by CVE-2026-46634?

2 open source packages ship an affected version, including twig/twig. It affects 1 product.

PackageAffectedFixed in
twig/twig PackagistFrom 3.9.03.26.0
twig/twig PackagistFrom 3.9.03.26.0

Products include Symfony Twig.

How do I fix CVE-2026-46634?

Upgrade twig/twig to 3.26.0 or later.

Is CVE-2026-46634 being exploited?

There is no known exploitation of CVE-2026-46634 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2026-46634, GHSA-24x9-r6q4-q93w, UBUNTU-CVE-2026-46634.

Is CVE-2026-46634 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free