Mistune: Quadratic denial of service via unbalanced square brackets
Summary
Mistune before 3.3.0 is a Python Markdown parser. Its parse_link_text function scans forward repeatedly on long runs of unmatched square brackets, so processing time grows quadratically with input size. A remote attacker who can submit Markdown to an application calling mistune.html() can stall worker processes for minutes without authentication.
Affected
- lepture mistune versions before 3.3.0 (advisory lists 3.2.0 and 3.2.1 as affected)
Fixed in
- Upgrade to mistune 3.3.0 or later
Workaround
- Unknown. No vendor workaround documented in the sources reviewed.
- Where upgrading is delayed, limit the size of user-supplied Markdown and set request or worker timeouts.
Exploitation
- Not known to be exploited in the wild; not listed in CISA KEV at time of research.
- CISA SSVC: exploitation none, automatable yes, technical impact partial.
- Public proof of concept: the upstream advisory includes a reproduction script; exploit status otherwise unknown.
Our recommendation
- Identify all systems using mistune below 3.3.0, including transitive dependencies (for example via Jupyter/nbconvert); check pip freeze or SBOMs.
- Upgrade to mistune 3.3.0 or later, prioritising internet-facing applications that render user-supplied Markdown.
- Until patched, limit Markdown input size and enforce worker timeouts.
- Monitor services for worker stalls and high CPU usage.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-f32h-38gf-rg5r github.com
- VulnCheck Advisory www.vulncheck.com
- Ubuntu Security CVE-2026-115347 ubuntu.com
- VulDB 425393 vuldb.com
- HOL Guard CVE-2026-115347 hol.org
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 00:41.
Original description (NVD)
Mistune before 3.3.0 contains an inefficient algorithmic complexity vulnerability in parse_link_text that allows remote attackers to cause denial of service through unbalanced square brackets. Attackers can submit markdown containing long runs of unmatched brackets to mistune.html(), triggering repeated forward scans that stall worker processes for minutes.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
