Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Markdown rendering endpoint
-
DeliveryCraft dense ~~/==/^^ marker-pair run
-
ExploitSubmit as untrusted Markdown input
-
ExecutionTrigger O(n^2) scan in formatting plugin
-
PersistExhaust CPU core
-
ImpactRepeat to deny service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
|
| Exploitation Conditions | Exploitation requires that the target application (1) parses attacker-supplied Markdown through Mistune at a version below 3.3.0, and (2) has at least one of the strikethrough (~~), mark (==), or insert (^^) formatting plugins enabled - these plugins contain the vulnerable per-start-position scan. The trigger payload is a run of closed tilde, equals-sign, or caret marker pairs around a character. Limiting factors: if none of those three plugins are registered, the vulnerable code path is not reached; impact is confined to availability (CPU exhaustion) with no confidentiality or integrity effect; and input-length limits or parse timeouts already deployed by the application blunt the quadratic amplification. |
| Impact | The CVSS 3.1 score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) reflects a network-reachable, unauthenticated, low-complexity availability-only impact - consistent with an algorithmic-complexity DoS. There is no EPSS score, KEV entry, or POC provided in the input, so exploitation likelihood cannot be quantified from external signals; the risk assessment rests on the CVSS vector and description alone. The practical risk is real but conditional: an attacker needs an application that (a) passes attacker-controlled Markdown to Mistune and (b) has the strikethrough, mark, or insert plugin enabled. Where those conditions hold (e.g., user comments, wiki/forum rendering), a single small malicious payload can pin a CPU core with no authentication, making this a genuine priority for exposed rendering services. Where those plugins are not enabled, real-world exploitability drops sharply despite the high base score. Note the description implies a non-default plugin dependency that the CVSS PR:N/AC:L vector does not capture - verify plugin configuration before prioritizing. |
| Exploit ScenarioDerived | An attacker submits a comment, wiki edit, or API payload containing a long run of closed tilde/equals/caret marker pairs (e.g., many ~~ or == sequences around characters) to a web application that renders user Markdown with Mistune's strikethrough, mark, or insert plugin enabled. The quadratic scan consumes a full CPU core for that request; repeating the submission across connections exhausts server CPU and denies service to legitimate users. No authentication or user interaction is required, and no public POC is currently identified. |
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 Python Markdown parser, affects all versions prior to 3.3.0 when the strikethrough, mark, or insert plugins are enabled. Remote attackers can submit crafted Markdown containing runs of closed tilde (~), equals (=), or caret (^) marker pairs that trigger quadratic-time scanning in the formatting plugin, exhausting CPU and rendering the parsing service unresponsive. No public exploit identified at time of analysis, and the flaw is not in CISA KEV; impact is limited to availability with no data exposure.
RemediationAI
Vendor-released patch: upgrade Mistune to version 3.3.0 or later, which fixes the quadratic scanning in src/mistune/plugins/formatting.py (fix commit 96d0f57f8fe9eeb06bb4cff521962a27d7c402e7, release https://github.com/lepture/mistune/releases/tag/v3.3.0). Review the advisory at https://github.com/lepture/mistune/security/advisories/GHSA-c8j7-8cv4-2xmq. If immediate upgrade is not possible, the most direct compensating control is to disable the strikethrough, mark, and insert plugins in the Mistune configuration for any pipeline that processes untrusted input - the trade-off is loss of ~~, ==, and ^^ rendering for legitimate users. Additional mitigations: enforce a strict maximum input length on Markdown submitted to the parser (caps the n^2 blow-up but may truncate legitimate long documents), and run parsing under a per-request CPU/time budget or worker timeout so a single malicious payload cannot monopolize a core (adds latency-handling complexity but preserves service availability).
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 (PyPI package 'mistune', maintained by lepture) is a pure-Python Markdown-to-HTML/AST parser widely embedded in web apps, documentation tooling, and notebook renderers. The root cause is CWE-407 (Inefficient Algorithmic Complexity): in src/mistune/plugins/formatting.py, the strikethrough (~~), mark (==), and insert (^^) plugins scan for a matching closing marker from each possible start position. When the input contains a dense run of closed marker pairs around a character, this per-start-position scan produces O(n^2) work relative to input length. The affected component is the inline formatting plugin layer, so exposure depends on which plugins the embedding application registers rather than on Mistune's core Markdown grammar. CPE cpe:2.3:a:lepture:mistune:*:*:*:* confirms the vendor/product with all versions below the fix in scope.
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
Untrusted Markdown is typically reachable remotely without auth (AV:N/PR:N/UI:N) and the payload is trivial to craft (AC:L); availability-only impact yields A:H, C:N, I:N.
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, a run of closed tilde, equals-sign, or caret marker pairs around a character causes quadratic work in src/mistune/plugins/formatting.py when the strikethrough, mark, or insert plugin scans for matching markers from each possible start position, allowing denial of service through CPU exhaustion. 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 Python Markdown parser used in content processing pipelines, contains a denial-of-service vulnerability affecting applications with strikethrough, mark, or insert plugins enabled. Remote attackers can trigger quadratic-time processing by submitting crafted Markdown, exhausting server CPU and rendering parsing services unresponsive, directly impacting service availability.
No vendor-released patch identified at time of analysis. Deploy interim mitigations: implement strict input filtering to block runs of marker characters exceeding a defined threshold; enforce per-request CPU time limits and execution timeouts on all Markdown parsing; disable unused formatting plugins; implement rate limiting on parsing endpoints; add CPU and memory monitoring with alerting on parsing service anomalies.
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 widely used pure-Python Markdown parser, affects all versions prior to 3.3.0 where the d
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-42329
GHSA-c8j7-8cv4-2xmq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB