CVE-2026-115352: Mistune before 3.3.0 Quadratic-Time DoS via Unmatched Brackets in Inline Parser

Published Oct 22, 2026
·
Updated

Mistune before 3.3.0 contains an algorithmic complexity vulnerability in the inline link parser that allows unauthenticated attackers to exhaust CPU by submitting long runs of unmatched '[' characters. Attackers can send small markdown payloads that trigger O(N^2) parselinktext and parselinklabel probing, occupying rendering workers for 30+ seconds per 16 KB input.

Affected Software

9 affected componentsFixes available
pypi/mistune<3.3.0
ubuntu/mistune*
ubuntu/mistune*
ubuntu/mistune*
ubuntu/mistune*
ubuntu/mistune*
ubuntu/mistune*
ubuntu/mistune*
debian/mistune<=2.0.4-1, <=3.1.3-1, <=3.1.4-1
3.4.0-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/mistune to a version that resolves this vulnerability.

    Fixed in 3.4.0-1

Event History

Oct 22, 2026
CVE Published
via Ubuntu·12:00 AM
Data Sourced
via Ubuntu·12:00 AM
RemedyDescriptionSeverityAffected Software
CVE Published
via MITRE·07:13 PM
Data Sourced
via MITRE·07:13 PM
DescriptionSeverityWeakness
Data Sourced
via OSV·07:17 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·07:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this denial-of-service condition?

Deployments using Mistune versions before 3.3.0 are affected when they parse attacker-controlled Markdown. The vulnerable code is the inline link parser.

2

What does an attacker need to exploit it?

An attacker needs only the ability to submit Markdown for parsing; no authentication or user interaction is required. Long runs of unmatched '[' characters trigger repeated parser probing.

3

What is the operational impact of a successful attack?

The malformed input causes quadratic-time processing in parse_link_text and parse_link_label, exhausting CPU and tying up rendering workers. A 16 KB payload can occupy a worker for more than 30 seconds.

4

What can be done if upgrading is not immediately possible?

The provided information does not identify a configuration workaround. Limit or reject untrusted Markdown containing long runs of unmatched '[' characters until Mistune can be updated to 3.3.0 or later.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203