CVE-2026-44896
MEDIUMMistune: XSS via unescaped figclass/figwidth in Figure directive
Title source: cnaDescription
Mistune is a Python Markdown parser with renderers and plugins. In 3.2.0 and earlier, in src/mistune/directives/image.py, the render_figure() function concatenates figclass and figwidth options directly into HTML attributes without escaping. This allows attribute injection and XSS even when HTMLRenderer(escape=True) is used, because these values bypass the inline renderer. Version 3.2.1 contains a patch.
References (2)
Core 2
Core References
X_Refsource_Misc x_refsource_misc
https://github.com/lepture/mistune/commit/a3cb6e5655308797e8be021d6c7b5bab13cbace2
X_Refsource_Confirm x_refsource_confirm
https://github.com/lepture/mistune/security/advisories/GHSA-58cw-g322-p94v
Scores
CVSS v3
6.1
EPSS
0.0020
EPSS Percentile
9.7%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-79
Status
published
Products (4)
lepture/mistune
< 3.2.1
lepture/mistune
<= 3.2.0
mistune_project/mistune
< 3.2.0
pypi/mistune
0 - 3.2.1PyPI
Published
May 26, 2026
Tracked Since
May 27, 2026