CVE-2026-76098: Mistune has Denial of Service — RecursionError via Excessive Emphasis Markers in Markdown
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.rendertoken() 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
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
mistuneto a version that resolves this vulnerability.Fixed in 3.3.3
Event History
Frequently Asked Questions
Who is exposed to this denial-of-service issue?
Applications using Mistune 3.3.0 through 3.3.2 to HTML-render Markdown are exposed when they process attacker-controlled Markdown. An unauthenticated remote attacker can supply crafted input to crash the parsing process.
What input is required to trigger the crash?
The attacker needs Markdown containing consecutive asterisk characters that produces deeply nested emphasis tokens. During HTML rendering, recursive token rendering can exceed Python's recursion limit and raise RecursionError.
Is upgrading available to remediate the issue?
Yes. The issue is fixed in Mistune version 3.3.3.