league/commonmark: Quadratic-time denial of service when parsing crafted Markdown (thephpleague commonmark)

CVE-2026-71488
HIGH 7.5

At a glance

Source
NVD
EPSS
EPSS 0.63 % · percentile 50 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Awaiting Analysis

Description

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.

Weaknesses (CWE)

  • CWE-407 — Inefficient Algorithmic Complexity
  • CWE-1050 — Excessive Platform Resource Consumption within a Loop

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HGitHub_M
CVSS 3.1HIGH 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HNVD · security-advisories@github.com (Secondary)

Advisories

European references

Affected products

ProductVersions
thephpleague · commonmarkaffected >= 0.6.0, < 2.9.0

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD