CVE-2026-44896Medium· 6.1▾ SunlitMistune has XSS via unescaped figclass/figwidth in Figure directive
▾ Sunlit zone — Low / medium · no exploitation signal
impact 33.6 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Sep 12.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
0.2%
In src/mistune/directives/image.py, the render_figure() function concatenates figclass and figwidth options directly into HTML attributes without escaping (lines 152-168).
This allows attribute injection and XSS even when HTMLRenderer(escape=True) is used, because these values bypass the inline renderer.
Other attributes in the same file (src, alt, style) are properly escaped; figclass/figwidth were missed.
mistune < 3.2.1Upgrade to a patched release:
mistune 3.2.1Connected by shared product, vendor, weakness, or advisory.
CVE-2026-76098High· 7.5Mistune is a Python Markdown parser with renderers and plugins
CVE-2026-59926Medium· 6.1Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_admonition() in src/mistune/directives/admonition.…
CVE-2026-44897Medium· 6.1Mistune Heading ID Attribute has Injection XSS
CVE-2026-44899Medium· 4.7Mistune Image Directive CSS Injection Vulnerability
CVE-2026-44708Medium· 6.1Mistune Math Plugin has an XSS Escape Bypass
CVE-2026-44898Medium· 6.1Mistune TOC Anchor Injection XSS