Description
Python-Markdown 3.0 through 3.11.2 contains an algorithmic complexity vulnerability in inline link parsing that allows remote attackers to exhaust CPU through unmatched brackets. Attackers can submit short Markdown containing repeated [ or ![ characters, forcing LinkInlineProcessor.getText() and getLink() into quadratic scans that keep workers busy for minutes.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Python-Markdown | Markdown | 3.0 – ≤ 3.11.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-markdown | No fix yet | — |
| Debian 13 | python-markdown | No fix yet | — |
| Debian 12 | python-markdown | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | python-markdown | No fix yet | — |
| Ubuntu 26.04 LTS | python-markdown | No fix yet | — |
| Ubuntu 24.04 LTS | python-markdown | No fix yet | — |
| Ubuntu 22.04 LTS | python-markdown | No fix yet | — |
| Ubuntu 20.04 LTS | python-markdown | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | tensorflow +1 | No fix yet | — |
References
- GitHub Issue #798 issue-tracking
- https://github.com/Python-Markdown/markdown product
- GitHub Issue #1654 issue-tracking
- https://github.com/Python-Markdown/markdown/blob/b41e0aaf1181f1a8cb200cf5a815aad7c0020d23/markdown/inlinepatterns.py#L1155-L1172 technical-description
- VulnCheck Advisory: Python-Markdown 3.0 through 3.11.2 Denial of Service via Link Bracket Parsing third-party-advisory