Every CVE Search/ Get API key

CVE-2019-25781

Python-Markdown 3.0 through 3.11.2 Denial of Service via Link Bracket Parsing

8.7 High

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.42%Unchanged since Oct 30, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

Python-Markdown 3.0 through 3.11.2 Denial of Service via Link Bracket Parsing

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.

Record
CVE-2019-25781
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407
Updated
2026-11-03
EUVDEUVD-2019-20211 8.7

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.

Record
EUVD-2019-20211
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-4g9h-pv2v-fw83 8.7

Python-Markdown 3.0 through 3.11.2 contains an algorithmic complexity vulnerability in inline...

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.

Record
GHSA-4g9h-pv2v-fw83
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407
Updated
2026-11-02
NVD 8.7

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.

Record
CVE-2019-25781
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407
Updated
2026-11-03
OSV 8.7

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.

Record
CVE-2019-25781
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-05
OSVDEBIAN-CVE-2019-25781 8.7

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.

Record
DEBIAN-CVE-2019-25781
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-04
OSVUBUNTU-CVE-2019-25781 8.7

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.

Record
UBUNTU-CVE-2019-25781
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-05
OSVAZL-112457 No score

CVE-2019-25781 affecting package python-markdown 3.8.2-3

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.

Record
AZL-112457
Updated
2026-11-05
OSVAZL-112517 No score

CVE-2019-25781 affecting package tensorflow 2.16.1-11

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.

Record
AZL-112517
Updated
2026-11-05

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python-markdown
Azure Linux:3
through 3.8.2-3 None known
tensorflow
Azure Linux:3
through 2.16.1-11 None known
python-markdown
Debian:12
All versions, plus listed versions
3.10-13.10-23.10.1-13.10.2-13.10.2-2
Show 13 moreShow less
3.10.3-13.11.2-13.4.1-23.4.1-2+deb12u13.4.3-13.4.4-13.5.2-13.6-13.7-13.7-23.8.2-13.8.2-23.9-1
None known
python-markdown
Debian:13
All versions, plus listed versions
3.10-13.10-23.10.1-13.10.2-13.10.2-2
Show 7 moreShow less
3.10.3-13.11.2-13.7-23.7-2+deb13u13.8.2-13.8.2-23.9-1
None known
python-markdown
Debian:14
All versions, plus listed versions
3.10-13.10-23.10.1-13.10.2-13.10.2-2
Show 6 moreShow less
3.10.3-13.11.2-13.7-23.8.2-13.8.2-23.9-1
None known
python-markdown
Ubuntu:14.04:LTS
All versions, plus listed versions
2.3.1-12.3.1-22.4-12.4-1ubuntu0.14.04.1
None known
python-markdown
Ubuntu:16.04:LTS
All versions, plus listed versions
2.6.2-12.6.3-12.6.4-12.6.5-12.6.5-22.6.6-1
None known
python-markdown
Ubuntu:18.04:LTS
All versions, plus listed versions
2.6.9-1
None known
python-markdown
Ubuntu:20.04:LTS
All versions, plus listed versions
3.1.1-23.1.1-2build13.1.1-3
None known
python-markdown
Ubuntu:22.04:LTS
All versions, plus listed versions
3.3.4-13.3.6-1
None known
python-markdown
Ubuntu:24.04:LTS
All versions, plus listed versions
3.4.4-13.5.2-1
None known
python-markdown
Ubuntu:26.10
All versions, plus listed versions
3.10.2-13.10.2-23.10.3-1
None known
python-markdown
Ubuntu:26.04:LTS
All versions, plus listed versions
3.8.2-23.10-13.10-23.10.2-1
None known

History

History
RecordedChangedSources
affectedNVD, OSV
facts, referencesCVE List, EUVD
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-25781 is a high vulnerability (CVSS 8.7) in Gomarkdown Markdown, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.42%, the 36th percentile. No source names a fixed version.

References

Show 4 moreShow less
MoveEnter Open