Python-Markdown 3.0 through 3.11.2 Denial of Service via Link Bracket Parsing
Impact
Python-Markdown versions 3.0 through 3.11.2 contain an algorithmic complexity vulnerability in inline link parsing, allowing attackers to exhaust CPU through unmatched brackets. Attackers can submit short Markdown containing repeated [ or ![ characters. This forces LinkInlineProcessor into quadratic scans, keeping workers busy for minutes.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
Python-Markdown · VulnCheck
Markdown
1 range
Python-Markdown · VulnCheck
Markdown
Package identity
pkg:pypi/markdownExplore markdown →Identity supplied by VulnCheck. Version matching requires compatible range evidence.
Compare with this publisher’s ranges. This does not inspect your installation.
affected
3.0 → through 3.11.2
custom versions
Other versions: unaffected
Original source 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.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2019-25781View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Environment requirements
These conditions apply together as specified by the publisher. A matching product name alone does not establish exposure.
VulnCheck · platform conditions
Any condition may hold
Vulnerable product
cpe:2.3:a:python-markdown2_project:python-markdown2:*:*:*:*:*:*:*:*From (inclusive): 3.0
Through (inclusive): 3.11.2
Original applicability statements
[
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:python-markdown2_project:python-markdown2:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.0",
"versionEndIncluding": "3.11.2"
}
]
}
]
}
]Contributing organizations · 1
Assigning organization
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.