Skip to main content

Mistune EUVDEUVD-2026-42338

| CVE-2026-59928 HIGH
Inefficient Algorithmic Complexity (CWE-407)
2026-07-08 GitHub_M GHSA-ffq3-xpv3-j92q PYSEC-2026-2216
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify endpoint rendering user Markdown
  2. Delivery
    Craft document with many reference-link definitions
  3. Exploit
    Submit payload to parser
  4. Execution
    Trigger quadratic parsing in block_parser
  5. Persist
    Exhaust CPU / stall workers
  6. Impact
    Deny service to legitimate users

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
Exploitation Conditions

The prerequisite is concrete: the target application must feed attacker-controlled Markdown into a Mistune parser instance older than 3.3.0, and the malicious document must contain a large number of reference-link definitions (the '[label]: url' construct) - repeated or distinct - to trigger the quadratic path in block_parser.py and ref_links handling. No authentication, user interaction, or special platform is required (PR:N/UI:N), matching AV:N/AC:L. The limiting factor is deployment-dependent: exploitation only matters where Mistune processes untrusted input, and impact is bounded where the operator already enforces input-size limits, parse timeouts, or per-request CPU quotas; impact is confined to availability, with no path to data disclosure or code execution.

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) is internally consistent and credible: network-reachable, no privileges, no user interaction, availability-only impact - a classic algorithmic-complexity DoS. There is no EPSS score, no KEV listing, and no published POC in the provided data, so predicted mass-exploitation probability cannot be quantified; however, the trigger (a text document with many reference-link definitions) is easy to reproduce independently from the public patch commit and advisory, so barrier to exploitation is low. This is a genuine availability priority for any internet-facing service that parses untrusted Markdown, but it carries zero confidentiality or integrity risk - it will not lead to data theft or code execution. Signals are consistent rather than conflicting; the main caveat is that real-world impact depends on deployment (whether Mistune sits behind untrusted input and whether request/CPU limits exist), which raw CVSS cannot capture.

Exploit ScenarioDerived

An attacker submits a single Markdown payload - for example a comment, wiki edit, chat message, or API document - that contains thousands of reference-link definitions to a service that renders it with a pre-3.3.0 Mistune. Because parsing scales quadratically, the request consumes disproportionate CPU and stalls the worker; repeating it across connections exhausts the server pool and denies service to legitimate users. Given AV:N/AC:L/PR:N/UI:N, this requires only network access and no credentials, though no public POC is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 08, 2026

Denial of service in Mistune (the lepture Python Markdown parser) before 3.3.0 lets remote unauthenticated attackers exhaust CPU by submitting a Markdown document packed with many repeated or distinct reference-link definitions, which triggers quadratic-time processing in the block parser and its ref_links dictionary handling. Any service that renders attacker-supplied Markdown through Mistune (wikis, comment systems, docs pipelines, notebook converters) can be stalled with a single crafted input. No public exploit is identified at time of analysis and it is not in CISA KEV, but the low-complexity, no-auth vector makes weaponization trivial.

RemediationAI

Vendor-released patch: upgrade Mistune to 3.3.0 or later (pip install --upgrade 'mistune>=3.3.0' and repin the dependency in requirements/lockfiles), per advisory GHSA-ffq3-xpv3-j92q and release https://github.com/lepture/mistune/releases/tag/v3.3.0; the corrective change is commit 2b04d7ba341c16ac78fe82d3076bdd5c3de87c69. Where an immediate upgrade is not possible, apply compensating controls at the point untrusted Markdown enters the parser: cap the maximum size/length of Markdown input accepted from users (trades off legitimate long documents), run parsing under a strict per-request CPU/wall-clock timeout or in a bounded worker/subprocess so a single request cannot pin a core, and rate-limit or queue Markdown-rendering endpoints to blunt repeated abuse. These controls reduce but do not eliminate the quadratic blowup, so upgrading remains the durable fix.

Affected VersionsENISA

mistune < 3.3.0

Affected Packages

pypi mistune fix: 3.3.0

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 is a pure-Python Markdown parser exposing renderers and plugins; it is embedded in many web apps and documentation toolchains to convert user Markdown into HTML. The flaw sits in src/mistune/block_parser.py and the ref_links environment dictionary that stores link reference definitions (the '[label]: url' syntax). CWE-407 (Algorithmic Complexity / Inefficient Algorithmic Complexity) is the root-cause class: the parser's handling of reference-link definitions scales quadratically (O(n^2)) with the number of definitions, so input size grows work super-linearly. An attacker does not need a memory bomb or code execution - they simply exploit the parsing algorithm's poor worst-case complexity to burn CPU cycles. The affected package is identified by CPE cpe:2.3:a:lepture:mistune across all versions prior to the fix.

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

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Untrusted Markdown is parsed remotely with no auth or interaction (AV:N/AC:L/PR:N/UI:N); algorithmic DoS impacts only availability (A:H), with no confidentiality or integrity effect and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat 6.5 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Jul 08, 2026 - 18:02 EUVD

DescriptionCVE.org

Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, a Markdown document containing many repeated or distinct reference-link definitions causes quadratic work in src/mistune/block_parser.py and the ref_links environment dictionary handling, allowing denial of service through CPU exhaustion. This issue is fixed in version 3.3.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on mistune (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.3.0.

Executive ViewAI

Why It Matters

Mistune, the Python Markdown parser deployed across documentation platforms and comment systems, is vulnerable to denial-of-service attacks triggered by specially crafted Markdown input that exhausts CPU resources. Any service accepting user-supplied Markdown-including wikis, issue trackers, notebook converters, and comment systems-can be stalled with a single malicious document, directly impacting service availability and user productivity. Organizations running Mistune versions prior to 3.3.0 should prioritize immediate assessment and patching.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
popular Python Markdown library, common in web apps and docs pipelines
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-49851 HIGH POC
8.7 Jun 24

Uncontrolled CPU consumption in Mistune, a Python Markdown parser, allows remote unauthenticated attackers to cause deni

CVE-2017-15612 MEDIUM POC
6.1 Oct 19

mistune.py in Mistune 0.7.4 allows XSS via an unexpected newline (such as in java\nscript:) or a crafted email address,

CVE-2026-115347 HIGH
8.7 Oct 22

Quadratic denial of service in Mistune's Markdown parser (parse_link_text) affects versions 3.2.0, 3.2.1 and main prior

CVE-2026-59922 HIGH POC
7.5 Jul 08

Denial of service in Mistune, a Python Markdown parser, affects all versions prior to 3.3.0 when the strikethrough, mark

CVE-2026-59925 HIGH POC
7.5 Jul 08

Denial of service in Mistune, a widely used pure-Python Markdown parser, affects all versions prior to 3.3.0 where the d

CVE-2022-34749 HIGH
7.5 Jul 25

In mistune through 2.0.2, support of inline markup is implemented by using regular expressions that can involve a high a

CVE-2017-16876 MEDIUM
6.1 Dec 29

Cross-site scripting (XSS) vulnerability in the _keyify function in mistune.py in Mistune before 0.8.1 allows remote att

CVE-2026-59923 MEDIUM POC
6.1 Jul 08

Cross-site scripting in Mistune Python Markdown parser (all versions before 3.3.0) allows attacker-controlled Markdown c

CVE-2026-59929 MEDIUM POC
6.1 Jul 08

Cross-site scripting in Mistune prior to 3.3.0 stems from an incomplete URI scheme blocklist in the `safe_url` filter, p

CVE-2026-59924 MEDIUM POC
5.9 Jul 08

Path traversal in Mistune's Include plugin allows reading arbitrary files from the server filesystem when processing att

CVE-2026-59926 MEDIUM
5.3 Jul 08

Cross-site scripting in Mistune (Python Markdown parser) prior to version 3.2.1 allows injection of arbitrary HTML attri

CVE-2026-59927 MEDIUM POC
5.3 Jul 08

Unbounded recursion in Mistune's Include directive (all versions prior to 3.3.0) can be triggered by a pair of mutually-

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy