CVE-2026-71488 json
league/commonmark: Quadratic-time denial of service when parsing crafted Markdown
published 2026-08-06 3 mo ago modified 2026-10-24 16 d ago also EUVD-2026-54143 , GHSA-2q4p-g7hv-5rgv
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 0.6.0 until 2.9.0, specially crafted Markdown lines can cause the parser to have quadratic time complexity when converting, because several parsing paths repeatedly rescan growing portions of a line to translate between character positions and byte positions, and the Autolink extension can also copy and validate the remaining line at every URL-like prefix, allowing an attacker who can submit Markdown for conversion to consume disproportionate CPU time with a comparatively small request. This issue is fixed in 2.9.0.
Patch / fix
- packagist league/commonmark 2.9.0
- thephpleague commonmark 2.9.0
- php-league-commonmark Debian 14 2.9.0-1
debian advisories DEBIAN-CVE-2026-71488
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | league/commonmark | >=0.6.0, <2.9.0 |
2.9.0 |
Affected products
- thephpleague commonmark
Classification
References
-
github.com
/thephpleague/commonmark/commit/a6ef6cdc308dfa39a34239c35818e75892a0e6a8
web
-
github.com
/thephpleague/commonmark/commit/a70979ea0d7d3377bd7127536748454a922bf5eb
web
-
github.com
/thephpleague/commonmark/commit/c97b02e5e652b992033b93ba5d6182f706343fc6
web
-
github.com
/thephpleague/commonmark/security/advisories/GHSA-2q4p-g7hv-5rgv
web
-
github.com
/thephpleague/commonmark/releases/tag/2.9.0
web
-
github.com
/thephpleague/commonmark
package
Sources
- CVE List CVE-2026-71488
- GitHub Advisory GHSA-2q4p-g7hv-5rgv
- NVD CVE-2026-71488
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.