CVE-2026-46637
Published:June 01, 2026
Updated:June 01, 2026
Description Several filters in the "twig/*" extras packages are registered with "is_safe => ['all']", which tells Twig's autoescaper to treat their output as safe in every context ("html", "js", "css", "url", ...). The output of these filters is plain text or HTML markup, neither of which is safe in every escaping context. Affected filters: - "html_to_markdown" ("twig/markdown-extra") emits plain Markdown text. "league/html-to-markdown" decodes HTML entities when producing code spans and fenced blocks, so an attacker-controlled "<code><img src=x onerror=alert(1)></code>" becomes ""<img src=x onerror=alert(1)>"", which renders live when interpolated into an HTML page. - "markdown_to_html" ("twig/markdown-extra") emits HTML. Safe in an HTML context but not in JS, CSS or URL contexts (e.g. when interpolated into an inline "<script>" block). - "inline_css" ("twig/cssinliner-extra") emits HTML with inlined styles. Same constraint as "markdown_to_html". In all three cases, "is_safe => ['all']" causes the autoescaper to emit the output verbatim in any context, even when the developer never wrote "|raw". In a context such as a JS string or a URL parameter, this produces unescaped HTML and is exploitable as XSS. Resolution - "html_to_markdown" no longer claims to be safe in any escaping context; its plain-text output is now autoescaped for the surrounding context. - "markdown_to_html" and "inline_css" are now declared "is_safe => ['html']", asserting only what they actually guarantee. Credits Twig would like to thank Claude Mythos Preview (via Project Glasswing) for reporting the issue and providing the fix for "html_to_markdown" and "markdown_to_html" in "twig/markdown-extra", and Christophe Coevoet for extending the audit to "inline_css" in "twig/cssinliner-extra".
Affected Packages
twig/markdown-extra (PHP):
Affected version(s) >=v2.12.0 <v3.26.0Fix Suggestion:
Update to version v3.26.0twig/cssinliner-extra (PHP):
Affected version(s) >=v2.12.0 <v3.26.0Fix Suggestion:
Update to version v3.26.0twig/markdown-extra (PHP):
Affected version(s) >=v2.12.0 <v3.26.0Fix Suggestion:
Update to version v3.26.0twig/cssinliner-extra (PHP):
Affected version(s) >=v2.12.0 <v3.26.0Fix Suggestion:
Update to version v3.26.0Related Resources (5)
Do you need more information?
Contact UsCVSS v4
Base Score:
1.3
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
PASSIVE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
NONE
Vulnerable System Availability
NONE
Subsequent System Confidentiality
LOW
Subsequent System Integrity
LOW
Subsequent System Availability
NONE
Exploit Maturity
UNREPORTED
CVSS v3
Base Score:
6.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE
Weakness Type (CWE)
Improper Encoding or Escaping of Output