CVE-2026-76098

Mistune has Denial of Service — RecursionError via Excessive Emphasis Markers in Markdown

Published Aug 24, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
Mistune is a Python Markdown parser with renderers and plugins. Versions 3.3.0 through 3.3.2 are vulnerable to DoS through deeply nested tokens. HTML rendering creates deeply nested emphasis tokens from consecutive asterisk characters, and recursive rendering in HTMLRenderer.render_token() can exceed Python's recursion limit and raise RecursionError, allowing crafted Markdown to crash a parsing process. This issue is fixed in version 3.3.3

Analysis

AI-generated

Technical impact

Mistune, a Python Markdown parser, has a flaw that allows an attacker to trigger a RecursionError by supplying Markdown with an excessively long sequence of consecutive asterisk characters. The parser creates deeply nested emphasis tokens from these characters, and the recursive rendering in HTMLRenderer.render_token() can exceed Python's recursion limit, causing the process to crash. This failure results in a denial of service that can affect any application that relies on Mistune to render Markdown content.

Affected Systems

The affected product is the Mistune parser by the lepture organization. Versions 3.3.0 through 3.3.2 contain the vulnerability; these revisions are used in various Python projects that perform Markdown to HTML conversion.

Risk and Exploitability

The CVSS score of 7.5 indicates a high availability impact. The EPSS score is below 1%, suggesting low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker could trigger the flaw by submitting crafted Markdown to any application that processes untrusted content with Mistune. The exploit would cause the parsing process to crash immediately, leading to service disruption.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Mistune to 3.3.3 or later
  • If an upgrade is not feasible, limit or sanitize consecutive asterisk sequences before passing Markdown to Mistune
  • Monitor application logs for RecursionError exceptions and take corrective action if crashes occur

Generated by OpenCVE AI on August 28, 2026 at 20:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-6m44-fpc8-c3rq Mistune: Denial of Service — RecursionError via Excessive Emphasis Markers in Markdown
History
Type Values Removed Values Added
First Time appeared Lepture
Lepture mistune
Vendors & Products Lepture
Lepture mistune
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Mistune is a Python Markdown parser with renderers and plugins. Versions 3.3.0 through 3.3.2 are vulnerable to DoS through deeply nested tokens. HTML rendering creates deeply nested emphasis tokens from consecutive asterisk characters, and recursive rendering in HTMLRenderer.render_token() can exceed Python's recursion limit and raise RecursionError, allowing crafted Markdown to crash a parsing process. This issue is fixed in version 3.3.3
Title Mistune has Denial of Service — RecursionError via Excessive Emphasis Markers in Markdown
Weaknesses CWE-674
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-770

    Allocation of Resources Without Limits or Throttling

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 24, 2026, 8:17 PM
Reserved
Aug 18, 2026, 9:17 PM
Status
Deferred
Published
Aug 24, 2026, 8:17 PM
Modified
Oct 12, 2026, 3:10 PM
Severity
Important
Public date
Aug 24, 2026, 8:05 PM