Twig: HTML-output filters in twig/* extras incorrectly declared `is_safe => ['all']`
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Twig is a template language for PHP. Prior to 3.26.0, several filters in twig/markdown-extra and twig/cssinliner-extra are registered with is_safe => [all], causing Twig to treat plain text or HTML output as safe in HTML, JavaScript, CSS, URL, and other contexts where the output is not properly escaped. This issue is fixed in version 3.26.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| symfony | Twig | before 3.26.0 | 3.26.0 | Patch available | CNA |
| twig | cssinliner-extra | before 3.26.0 | 3.26.0 | Patch available | CNA |
| twig | markdown-extra | before 3.26.0 | 3.26.0 | Patch available | CNA |
| — | twig/markdown-extra (Packagist) | before 3.26.0 | 3.26.0 | Patch available | GHSA-jv8m-2544-3pg3 |
| — | twig/cssinliner-extra (Packagist) | before 3.26.0 | 3.26.0 | Patch available | GHSA-jv8m-2544-3pg3 |
- Twig Vendorsymfony Affected before 3.26.0 Fixed in 3.26.0 Patch available CNA
- cssinliner-extra Vendortwig Affected before 3.26.0 Fixed in 3.26.0 Patch available CNA
- markdown-extra Vendortwig Affected before 3.26.0 Fixed in 3.26.0 Patch available CNA
- twig/markdown-extra (Packagist) Vendor— Affected before 3.26.0 Fixed in 3.26.0 Patch available GHSA-jv8m-2544-3pg3
- twig/cssinliner-extra (Packagist) Vendor— Affected before 3.26.0 Fixed in 3.26.0 Patch available GHSA-jv8m-2544-3pg3
Remediation
- Fix · CNA Twig (twigphp) Fixed in 3.26.0
- Fix · CNA cssinliner-extra (twig) Fixed in 3.26.0
- Fix · CNA markdown-extra (twig) Fixed in 3.26.0
- Fix · GHSA-jv8m-2544-3pg3 twig/markdown-extra (Packagist) Fixed in 3.26.0 Advisory →
- Fix · GHSA-jv8m-2544-3pg3 twig/cssinliner-extra (Packagist) Fixed in 3.26.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-46637
- 2026-10-03 Alias added: GHSA-jv8m-2544-3pg3
References
Patch 2
Other 5
- https://github.com/twigphp/Twig/releases/tag/v3.26.0
- https://github.com/FriendsOfPHP/security-advisories/blob/master/twig/cssinliner-extra/CVE-2026-46637.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/twig/markdown-extra/CVE-2026-46637.yaml
- https://github.com/twigphp/Twig
- https://symfony.com/cve-2026-46637
More symfony Twig vulnerabilities
- TI-2026-34283 Twig: The `spaceless` filter implicitly marks its output as safe CVSS 4.0MEDIUM 5.1
- TI-2022-07667 Code injection in Twig CVSS 3.1CRITICAL 9.8
- TI-2018-10028 Twig before 2.4.4 allows Server-Side Template Injection (SSTI) via the search search_key… CVSS 3.0CRITICAL 9.8
- TI-2022-18637 Twig may load a template outside a configured directory when using the filesystem loader CVSS 3.1HIGH 7.5
- TI-2026-34292 Twig: Arbitrary PHP code execution via `_self.(<string>)` macro-reference compilation CVSS 4.0HIGH 8.7
- TI-2026-34285 Twig: PHP code injection via `{% use %}` template name CVSS 4.0HIGH 8.7
Sources
- CVE-2026-46637 · CVE Program
- CVE-2026-46637 · NVD
- FIRST EPSS
- GHSA-jv8m-2544-3pg3 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences