Skip to main content

Mistune EUVDEUVD-2026-108418

| CVE-2026-115349 HIGH
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-10-22 disclosure@vulncheck.com GHSA-4239-8pr8-4pwv
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Reach markdown-rendering endpoint
  2. Exploit
    Submit payload of nested square brackets
  3. Execution
    Trigger quadratic parse_link_text scan
  4. Impact
    Exhaust server CPU, deny service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target application must render attacker-controlled markdown through mistune (versions 3.0.0 through 3.2.1) and must reach the link-parsing path - triggered by markdown containing deeply nested unescaped square brackets (e.g. many '[' followed by many ']'). No authentication, user interaction, or special configuration is required per the CVSS vector (PR:N/UI:N), and mistune.html uses escape=False by default per the PoC. The practical limiting factor is exposure: exploitation requires an endpoint that actually passes untrusted input to mistune; services that never render user-supplied markdown are not affected. Impact is limited to availability/CPU exhaustion, with no data confidentiality or integrity consequence.

Impact

This is a credible availability-only threat that merits prompt but not emergency action, consistent with the vuln.today 'this_week' decision label. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated flaw with no attack requirements, and impact is confined to availability (VA:H; VC:N/VI:N) - there is no confidentiality or integrity exposure, so this cannot lead to code execution or data theft, only CPU exhaustion. The GHSA advisory supplies concrete measured timings (16KB input → ~73s CPU) and a full reproduction script, so the quadratic behavior is well-substantiated and trivially reproducible. No CISA KEV listing and no EPSS score were provided in the input, so there is no evidence of active exploitation and no modeled exploitation probability to weigh; absence of KEV/EPSS is a data gap, not a signal of safety. The main factors that temper raw severity: impact is DoS-only, and exploitability depends on the application actually feeding attacker-controlled markdown through mistune's link parser. Net: a real priority for any service rendering user-supplied markdown, driven by ease of triggering rather than by confirmed in-the-wild use.

Exploit ScenarioDerived

An attacker sends a single HTTP request (~16KB) containing markdown with thousands of nested opening and closing square brackets to any endpoint that renders user-supplied markdown via mistune (comment field, API body, documentation submission). The parse_link_text function scans forward from each '[' position, producing O(n²) work and consuming ~70+ seconds of CPU per request. A public PoC with timing measurements is published in the GHSA advisory, and a handful of concurrent requests can exhaust server CPU and deny service.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Remote unauthenticated attackers can exhaust server CPU by submitting markdown with deeply nested square brackets to Mistune 3.0.0 through 3.2.1, where the parse_link_text helper degrades to quadratic time and a roughly 16KB payload can occupy a worker for over a minute. Impact is availability-only with no confidentiality or integrity effect, and exposure is bounded by whether an endpoint actually passes untrusted markdown to mistune. A public proof-of-concept reference exists in the upstream advisory; it is not verified as working exploit code, there is no CISA KEV entry, and the this_week decision label reflects a credible but non-emergency priority.

RemediationAI

Upgrade mistune to 3.3.0, the fixed release named in advisory GHSA-3q64-rw38-243v (also mirrored at https://www.vulncheck.com/advisories/mistune-3.0.0-before-3.3.0-denial-of-service-via-nested-bracket-parsing); no vendor workaround is documented, so updating is the only complete fix. Because the advisory attributes the flaw to the missing bracket-nesting cap and the absence of a maximum input length check, exposure before the upgrade can be reduced by rejecting or truncating markdown whose bracket nesting depth or overall size exceeds what the application legitimately needs, at the cost of breaking unusually long or deeply nested benign documents, and by running parsing under per-request CPU and wall-clock limits so a single render cannot monopolize a worker, which converts the CPU exhaustion into a failed request rather than preventing it. Priority follows the this_week decision label: prompt action for endpoints that render untrusted markdown, but not an emergency response, since impact is availability-only and there is no CISA KEV entry at time of analysis.

Affected VersionsENISA

mistune 3.0.0 <3.3.0

Affected Packages

euvd mistune fix: 3.3.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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, and between 3.0.0 and 3.2.1 its parse_link_text function in src/mistune/helpers.py scans for bracket characters using the compiled pattern _INLINE_SQUARE_BRACKET_RE, restarting that scan from the current offset for every bracket encountered. When the inline parser meets a run of n '[' characters it attempts a link at each position, each attempt walking the remaining brackets before concluding the link is invalid, so total work scales with n squared; the advisory measures about 0.30s at n=1,000 rising to roughly 72.91s at n=16,000. The advisory maps the flaw to CWE-1333 and points to the missing cap on the bracket nesting level and the absence of any maximum input length check, while mistune.html renders with escape=False by default so untrusted input reaches the parser unchanged. Only availability is affected: the CVSS 4.0 vector scores VA:H with VC:N and VI:N, matching our independent CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H assessment.

Know when the next one hits your stack

  • 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 (vulncheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-reachable, unauthenticated, no user interaction, low complexity (fixed crafted input reliably triggers quadratic cost); availability-only impact so C:N/I:N/A:H, scope unchanged.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 20:18 EUVD
CVE Published
Oct 22, 2026 - 19:17 cve.org
HIGH 8.7

DescriptionCVE.org

Mistune from 3.0.0 before 3.3.0 contains an algorithmic complexity denial of service vulnerability in the parse_link_text function in src/mistune/helpers.py. Attackers can submit markdown with deeply nested square brackets triggering quadratic parsing time, exhausting server CPU with small crafted requests.

Executive ViewAI

Why It Matters

Mistune, a markdown parsing library used by many Python applications, is vulnerable to a CPU exhaustion attack (CVE-2026-115349) that can degrade service availability. Any endpoint that processes untrusted markdown with affected versions (3.0.0-3.2.1) is at risk, potentially disrupting customer-facing services and internal tools. Leadership should prioritize remediation to prevent service outages and maintain trust.

Business Impact: Medium
Compensating Controls

Apply input validation to limit markdown nesting depth, enforce request rate limits, and monitor for anomalous CPU usage; no vendor patch is available.

Threat Intelligence Overview

Prevalence
Medium
popular Python markdown parsing library, widely embedded but not universal
Data Quality
3 sources
Confidence: Low

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 No
EPSS N/A
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
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.

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