CVE-2026-105830GHSA-3q6v-r5mr-hxv8
league/commonmark 2.0.0 before 2.10.2 Quadratic DoS via TableStartParser
thephpleague commonmarkPackagistLibraries & packages
CVSS
8.7HighExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 8 Oct 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.37%Chance of exploitation activity in the next 30 days, higher than 29% of CVEs. Scored 23 Oct 2026FIRST EPSS
What fixes it
- 2.10.2commonmarkCVE List
- 2.10.2league/commonmark, PackagistOSV
composer require "league/commonmark:^2.10.2"
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
league/commonmark from 2.0.0 before 2.10.2 contains a quadratic-time denial of service vulnerability in the GitHub Flavored Markdown Table extension's TableStartParser::tryStart() block-start scan. Unauthenticated attackers can submit a large paragraph of pipe-free lines not starting with letters, forcing repeated full-buffer strpos scans that exhaust PHP worker CPU.
Text from CVE List
Affected versions 51
- commonmarkaffected: 2.0.0 before 2.10.2CVE List
- commonmarkunaffected: 2.10.2CVE List
- league/commonmark, Packagistfrom 2.0.0, fixed in 2.10.2OSV
- league/commonmark, Packagist2.0.0OSV
- league/commonmark, Packagist2.0.1OSV
- league/commonmark, Packagist2.0.2OSV
- league/commonmark, Packagist2.0.3OSV
- league/commonmark, Packagist2.0.4OSV
- league/commonmark, Packagist2.1.0OSV
- league/commonmark, Packagist2.1.1OSV
- league/commonmark, Packagist2.1.2OSV
- league/commonmark, Packagist2.1.3OSV
- league/commonmark, Packagist2.10.0OSV
- league/commonmark, Packagist2.10.1OSV
- league/commonmark, Packagist2.2.0OSV
- league/commonmark, Packagist2.2.1OSV
- league/commonmark, Packagist2.2.2OSV
- league/commonmark, Packagist2.2.3OSV
- league/commonmark, Packagist2.2.4OSV
- league/commonmark, Packagist2.2.5OSV
- league/commonmark, Packagist2.3.0OSV
- league/commonmark, Packagist2.3.1OSV
- league/commonmark, Packagist2.3.2OSV
- league/commonmark, Packagist2.3.3OSV
- league/commonmark, Packagist2.3.4OSV
- league/commonmark, Packagist2.3.5OSV
- league/commonmark, Packagist2.3.6OSV
- league/commonmark, Packagist2.3.7OSV
- league/commonmark, Packagist2.3.8OSV
- league/commonmark, Packagist2.3.9OSV
- league/commonmark, Packagist2.4.0OSV
- league/commonmark, Packagist2.4.1OSV
- league/commonmark, Packagist2.4.2OSV
- league/commonmark, Packagist2.4.3OSV
- league/commonmark, Packagist2.4.4OSV
- league/commonmark, Packagist2.5.0OSV
- league/commonmark, Packagist2.5.1OSV
- league/commonmark, Packagist2.5.2OSV
- league/commonmark, Packagist2.5.3OSV
- league/commonmark, Packagist2.6.0OSV
- league/commonmark, Packagist2.6.1OSV
- league/commonmark, Packagist2.6.2OSV
- league/commonmark, Packagist2.7.0OSV
- league/commonmark, Packagist2.7.1OSV
- league/commonmark, Packagist2.8.0OSV
- league/commonmark, Packagist2.8.1OSV
- league/commonmark, Packagist2.8.2OSV
- league/commonmark, Packagist2.8.3OSV
- league/commonmark, Packagist2.9.0OSV
- league/commonmark, Packagist2.9.1OSV
- league/commonmark, Packagist2.9.2OSV