CVE-2026-44708
Math Plugin XSS in Mistune Markdown Parser
Publication date: 2026-05-26
Last updated on: 2026-05-26
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| lepture | mistune | to 3.2.1 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Mistune Python Markdown parser's math plugin before version 3.2.1. The plugin renders inline math ($...$) and block math ($$...$$) by directly inserting the raw user-supplied content into the HTML output without performing any HTML escaping. This means that even if the parser is configured with escape=True, which is intended to sanitize all user input before it reaches the DOM, the math plugin bypasses this protection. As a result, malicious content can be injected into the HTML output.
How can this vulnerability impact me? :
This vulnerability can lead to cross-site scripting (XSS) attacks because user-supplied content is inserted into HTML without proper escaping. An attacker could exploit this by injecting malicious scripts into the math expressions, which would then be executed in the context of the victim's browser. This can compromise the confidentiality and integrity of user data, potentially leading to unauthorized actions or data theft.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, you should upgrade the mistune package to version 3.2.1 or later, where the issue is fixed.