Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach untrusted Markdown-rendering endpoint
-
DeliverySubmit crafted asterisk-emphasis payload
-
ExploitTrigger quadratic emphasis scan in inline_parser.py
-
ExecutionCPU exhaustion on worker thread
-
PersistRepeat requests to starve workers
-
ImpactService denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
|
| Exploitation Conditions | Exploitation requires only that the target application pass attacker-controlled text through Mistune's default inline parser - the vulnerable emphasis handling is active in default Mistune parsing, so no special plugin, renderer, or non-default option must be enabled. The concrete trigger is a Markdown payload containing long sequences of well-formed double-asterisk ( |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) cleanly matches the described flaw: network-reachable, no authentication, no user interaction, and impact confined to availability with no confidentiality or integrity effect. This is a genuine but bounded risk - it is a single-request CPU-exhaustion DoS, not code execution or data exposure. No EPSS score, KEV entry, POC, or SSVC decision data was provided in the input, so exploitation probability cannot be quantified from signals; the assessment rests on the CVSS vector and description alone. The practical priority depends entirely on exposure: services that parse attacker-supplied Markdown (comments, chat, issue trackers, API bodies) inherit the full unauthenticated-DoS risk, whereas deployments that only render trusted first-party Markdown face little real-world danger despite the high base score. Because exploitation requires no special privileges and the trigger is trivial to construct, this should be treated as a real priority for any internet-facing Markdown-rendering endpoint. |
| Exploit ScenarioDerived | An attacker submits a comment, chat message, or API request containing a crafted Markdown string with a long sequence of |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 08, 2026
Denial of service in Mistune, a widely used pure-Python Markdown parser, affects all versions prior to 3.3.0 where the default inline parser exhibits quadratic (O(n²)) behavior on long runs of well-formed double- or triple-asterisk emphasis pairs. Because the parser rescans forward for matching close markers from every candidate opening run, a small crafted Markdown payload forces disproportionate CPU consumption, exhausting resources on any service that renders untrusted Markdown. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the low attack complexity and unauthenticated network vector make availability impact realistic against default configurations.
RemediationAI
Vendor-released patch: upgrade to Mistune 3.3.0 (https://github.com/lepture/mistune/releases/tag/v3.3.0), which rewrites the emphasis-scanning logic per commit 5de41fb8e527004dbc363e047a3c380c9288c74f; review the advisory at https://github.com/lepture/mistune/security/advisories/GHSA-4j32-57v6-6g45 for details. Update pinned dependencies (requirements.txt/poetry/pipenv) and rebuild any vendored copies. If immediate upgrade is not possible, apply compensating controls at the ingestion boundary: cap the maximum size/length of Markdown input accepted from untrusted sources (long asterisk runs require sizable input to be effective), and enforce a wall-clock timeout or run rendering in a separate worker/subprocess with a CPU limit so a single request cannot pin a thread - the trade-off is that legitimate very large documents may be rejected or truncated. Rate-limiting Markdown-rendering endpoints and placing them behind authentication reduces the blast radius but does not remove the flaw. These mitigations are stopgaps; upgrading to 3.3.0 is the durable fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mistune (project id lepture/mistune, per CPE cpe:2.3:a:lepture:mistune) is a fast, extensible Markdown-to-HTML library commonly embedded in Python web apps, documentation tooling, static site generators, and comment/wiki systems. The root cause is CWE-407 (Inefficient Algorithmic Complexity / algorithmic denial of service): the emphasis-handling logic in src/mistune/inline_parser.py treats every potential opening emphasis run as a starting point and scans forward looking for a matching closing marker. When input contains long sequences of nested or repeated /* emphasis pairs around a character, the number of scan operations grows quadratically with input length, so linearly larger input yields super-linear parsing time. This is the classic algorithmic-complexity DoS pattern (analogous to catastrophic backtracking) rather than a memory-corruption or injection flaw - hence the availability-only impact.
Know when Mistune gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Unauthenticated remote input to a default parser (AV:N/AC:L/PR:N/UI:N) with a trivially crafted payload; impact is CPU-exhaustion DoS only, so C:N/I:N/A:H.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, long sequences of well-formed double-asterisk or triple-asterisk emphasis pairs around a character cause quadratic work in src/mistune/inline_parser.py because the parser scans forward for matching close markers from every potential opening run, allowing denial of service in default Mistune parsing. This issue is fixed in version 3.3.0.
Blast Radius
ecosystem impact- 1 pypi packages depend on mistune (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 3.3.0.
Articles & Coverage 1
Executive ViewAI
Mistune, a pure-Python Markdown parser widely used in web applications and content platforms, contains a denial-of-service vulnerability (CVE-2026-59925) in versions before 3.3.0 that can be triggered by crafted Markdown payloads. Services rendering untrusted user-supplied Markdown face resource exhaustion and availability risk. Immediate assessment and interim mitigations are required given the lack of vendor patch availability.
No public exploit identified at time of analysis. No vendor-released patch identified at time of analysis. Implement input validation (maximum payload size, enforce limits on nested structures), apply strict timeouts to Markdown rendering, deploy rate limiting on rendering endpoints, and establish CPU monitoring for anomalous spikes. For services where untrusted Markdown rendering is not essential, consider disabling or restricting Markdown functionality.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Uncontrolled CPU consumption in Mistune, a Python Markdown parser, allows remote unauthenticated attackers to cause deni
mistune.py in Mistune 0.7.4 allows XSS via an unexpected newline (such as in java\nscript:) or a crafted email address,
Quadratic denial of service in Mistune's Markdown parser (parse_link_text) affects versions 3.2.0, 3.2.1 and main prior
Denial of service in Mistune (the lepture Python Markdown parser) before 3.3.0 lets remote unauthenticated attackers exh
Denial of service in Mistune, a Python Markdown parser, affects all versions prior to 3.3.0 when the strikethrough, mark
In mistune through 2.0.2, support of inline markup is implemented by using regular expressions that can involve a high a
Cross-site scripting (XSS) vulnerability in the _keyify function in mistune.py in Mistune before 0.8.1 allows remote att
Cross-site scripting in Mistune Python Markdown parser (all versions before 3.3.0) allows attacker-controlled Markdown c
Cross-site scripting in Mistune prior to 3.3.0 stems from an incomplete URI scheme blocklist in the `safe_url` filter, p
Path traversal in Mistune's Include plugin allows reading arbitrary files from the server filesystem when processing att
Cross-site scripting in Mistune (Python Markdown parser) prior to version 3.2.1 allows injection of arbitrary HTML attri
Unbounded recursion in Mistune's Include directive (all versions prior to 3.3.0) can be triggered by a pair of mutually-
Same weakness CWE-407 – Inefficient Algorithmic Complexity
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.0 SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
EUVD-2026-42335
GHSA-4j32-57v6-6g45
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB