CVE-2026-49981 json
Twig: Sandbox filter, tag and function allow-list bypass when sandbox state changes between renders for a cached `Template`
published 2026-07-01 4 mo ago modified 2026-10-24 15 d ago also EUVD-2026-44510 , GHSA-529h-vh3j-85hq
- cvss
- 8.2
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
Summary
Twig is a template language for PHP. Prior to 3.27.0, the per-template filter, tag, and function allow-list verdict is computed when a Template instance is constructed and can remain cached after sandbox state changes between renders, allowing a later sandboxed render to reuse a template that was originally checked with a different or empty policy. This issue is fixed in version 3.27.0.
Patch / fix
- packagist twig/twig 3.27.0
- symfony twig 3.27.0
- php-twig Debian 13 3.27.0-0+deb13u1
- php-twig Debian 14 3.27.0-1
debian advisories DEBIAN-CVE-2026-49981
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-49981 updated cvss 8.5
twig/twig: Twig: Information disclosure via sandbox bypass
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.36% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | twig/twig | <3.27.0 |
3.27.0 |
Affected products
- twigphp Twig
Classification
References
-
github.com
/twigphp/Twig/commit/23eb6eb1267cb0d303b91eb5cff9b0c559c538a4
patch
-
github.com
/twigphp/Twig/security/advisories/GHSA-529h-vh3j-85hq
web, vendor-advisory
-
github.com
/twigphp/Twig/releases/tag/v3.27.0
web, release-notes
-
github.com
/twigphp/Twig
package
Sources
- CVE List CVE-2026-49981
- GitHub Advisory GHSA-529h-vh3j-85hq
- NVD CVE-2026-49981
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.