400 matches found
CVE-2026-76098
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 excee...
CVE-2026-76098
Mistune (Python Markdown parser) versions 3.3.0 through 3.3.2 are vulnerable to Denial of Service via deeply nested emphasis tokens. When HTML rendering processes consecutive asterisk characters, recursive calls in HTMLRenderer.render_token() can exceed Python's recursion limit, raising a Recursi...
CVE-2026-59922
A flaw was found in Mistune, a Python Markdown parser. A remote attacker could exploit this vulnerability by providing specially crafted input containing specific marker pairs tilde, equals-sign, or caret. This crafted input causes the parser to perform quadratic work, leading to excessive CPU...
CVE-2026-59924
A flaw was found in Mistune, a Python Markdown parser. The Include.parse function does not properly verify user-supplied include paths, allowing an attacker to craft paths that can access files outside the intended markdown directory. This can lead to information disclosure when markdown files ar...
Cross-site Scripting (XSS)
Mistune is vulnerable to Cross-Site Scripting XSS. The vulnerability is due to improper escaping of the Admonition directive :class: option when rendering HTML, which allows an attacker to inject malicious attributes and execute arbitrary JavaScript in a victim's browser...
EUVD-2026-42336
Mistune renderers/html.safeurl: HARMFULPROTOCOLS list misses legacy and chained schemes that historically chain to javascript: execution...
GHSA-QFRW-5RXM-MHH2 Mistune renderers/html.safe_url: HARMFUL_PROTOCOLS list misses legacy and chained schemes that historically chain to `javascript:` execution
Summary Type: URL-scheme allowlist gap. The safeurl filter only blocks the four schemes javascript:, vbscript:, file:, data:. Several other schemes are accepted into rendered and tags despite being known XSS vectors in legacy or chain-handling browsers. The same gap applies to direct links,...
EUVD-2026-42330
Mistune toc / TableOfContents directive: heading IDs use predictable tocN numbering with no slugification, allowing collision with attacker-controlled id="tocN" content...
GHSA-R4RV-85JG-W4MF Mistune: Arbitrary File Read via Include directive path traversal
Summary A path traversal issue exists in mistune's Include directive when markdown files are processed using md.read. A crafted include path can cause files outside the intended markdown directory to be accessed. Details The issue occurs in the Include.parse method where user-supplied paths are...
EUVD-2026-42329
Mistune plugins/formatting: quadratic-time parsing on long runs of x, ==x==, and ^^x^^ markers strikethrough / mark / insert...
GHSA-C8J7-8CV4-2XMQ Mistune plugins/formatting: quadratic-time parsing on long runs of `~~x~~`, `==x==`, and `^^x^^` markers (strikethrough / mark / insert)
Summary Type: Algorithmic-complexity denial of service. A run of N closed pairs xx... or the analogous ==x== for mark, ^^x^^ for insert causes ON² work in the formatting parser. With the strikethrough, mark, or insert plugin enabled, an 8 KB input pegs the CPU for 4 seconds; 16 KB → 17 seconds...
Mistune plugins/formatting: quadratic-time parsing on long runs of `~~x~~`, `==x==`, and `^^x^^` markers (strikethrough / mark / insert)
Summary Type: Algorithmic-complexity denial of service. A run of N closed pairs xx... or the analogous ==x== for mark, ^^x^^ for insert causes ON² work in the formatting parser. With the strikethrough, mark, or insert plugin enabled, an 8 KB input pegs the CPU for 4 seconds; 16 KB → 17 seconds...
GHSA-G97X-GVCM-X72H Mistune: XSS via unescaped class option in Admonition directive
In src/mistune/directives/admonition.py, the renderadmonition function concatenates the :class: option directly into the HTML class attribute without escaping lines 63-68. This allows attribute injection and XSS even when HTMLRendererescape=True is used. The directive name parameter is safe...
Mistune: XSS via unescaped class option in Admonition directive
In src/mistune/directives/admonition.py, the renderadmonition function concatenates the :class: option directly into the HTML class attribute without escaping lines 63-68. This allows attribute injection and XSS even when HTMLRendererescape=True is used. The directive name parameter is safe...
EUVD-2026-42331
Mistune: XSS via percent-encoded javascript URI bypass in safeurl...
GHSA-8C25-4J27-2RV3 Mistune: XSS via percent-encoded javascript URI bypass in safe_url()
Summary An XSS vulnerability in Mistune allows bypassing of safeurl protections via percent-encoded javascript URIs. Details The vulnerability exists in HTMLRenderer.safeurl in Mistune. The function is intended to block harmful URL schemes such as "javascript:" by checking the prefix of the...
Mistune inline_parser: quadratic-time parsing on long runs of `**x**` and `***x***` emphasis pairs
Summary Type: Algorithmic-complexity DoS in core emphasis parsing. A long sequence of well-formed x strong or x strong-emphasis combined pairs causes ON² parser work. Distinct from the bracket-bomb DoS repetition and from the formatting-plugin DoS /==/^^; this one fires on default-config mistune...
GHSA-4J32-57V6-6G45 Mistune inline_parser: quadratic-time parsing on long runs of `**x**` and `***x***` emphasis pairs
Summary Type: Algorithmic-complexity DoS in core emphasis parsing. A long sequence of well-formed x strong or x strong-emphasis combined pairs causes ON² parser work. Distinct from the bracket-bomb DoS repetition and from the formatting-plugin DoS /==/^^; this one fires on default-config mistune...
EUVD-2026-42335
Mistune inlineparser: quadratic-time parsing on long runs of x and x emphasis pairs...
GHSA-8MPJ-M6QM-5QR8 Mistune directives/include: mutual `.. include::` recursion crashes the renderer with `RecursionError`, denial of service via two attacker-controlled markdown files
Summary Type: Uncontrolled recursion via mutual include. The Include directive checks for direct self-reference a.md cannot include a.md, but does not detect indirect cycles. Two markdown files that include each other a.md → includes b.md → includes a.md cause unbounded recursion until Python's...