mistune: Denial of service via quadratic-time link parsing
Summary
The Python Markdown parser mistune before version 3.3.0 has an algorithmic complexity flaw in its inline link parser. An unauthenticated attacker who can submit Markdown to an application that renders it can send a small payload made of long runs of unmatched '[' characters. Rendering time grows quadratically; the CVE description reports more than 30 seconds of CPU time per 16 KB input, which can block rendering workers and make the service unavailable. The impact is limited to availability, and no active exploitation is known.
Affected
- mistune 0 to before 3.3.0 (lepture mistune)
Fixed in
- mistune 3.3.0 (vendor fix)
- Use the latest 3.3.x release on PyPI: CVE-2026-76098 affects versions 3.3.0 up to before 3.3.3
Workaround
- No vendor workaround known.
- Limit the size of Markdown input accepted for rendering.
- Apply request timeouts and worker recycling so a slow render does not block the pool.
Exploitation
- CISA SSVC: exploitation none, automatable yes, technical impact partial.
- No known exploitation found.
- No public proof of concept found in the research; the advisory describes the technique.
Our recommendation
- Inventory Python environments and lockfiles for mistune, including Jupyter and nbconvert installations.
- Upgrade to the latest mistune 3.3.x release, not only 3.3.0.
- Identify internet-facing or user-facing Markdown rendering and apply input size limits and timeouts.
- Monitor worker CPU usage and response times.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-xrpv-r66x-8p7j github.com
- VulnCheck Advisory: Mistune before 3.3.0 Quadratic-Time DoS www.vulncheck.com
- Ubuntu Security Notice CVE-2026-115352 ubuntu.com
- HOL Guard: CVE-2026-115352 hol.org
- Cyberus Linux finding 2989 security.cyberus-linux.com
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:38.
Original description (NVD)
Mistune before 3.3.0 contains an algorithmic complexity vulnerability in the inline link parser that allows unauthenticated attackers to exhaust CPU by submitting long runs of unmatched '[' characters. Attackers can send small markdown payloads that trigger O(N^2) parse_link_text and parse_link_label probing, occupying rendering workers for 30+ seconds per 16 KB input.
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.
