CVE-2026-86433

7.5

thephpleague · commonmark

A denial of service vulnerability exists in the commonmark Attributes extension due to inefficient quadratic-time sibling list scanning, allowing resource exhaustion via malformed input.

Executive summary

An unauthenticated remote denial of service vulnerability in thephpleague commonmark library allows attackers to exhaust server resources through specifically crafted input.

Vulnerability

The vulnerability resides in the AttributesListener::findTargetAndDirection() function, which performs quadratic-time complexity operations when scanning sibling lists. Unauthenticated attackers can trigger this flaw by submitting approximately 32 KB of repeated attribute blocks, forcing the parser to consume excessive CPU cycles and causing significant service delays.

Business impact

This vulnerability poses a high risk to availability for any application utilizing the commonmark library for markdown parsing. A successful exploit leads to service degradation or complete denial of service, potentially resulting in operational downtime and business disruption. Given the CVSS score of 7.5, this high-severity flaw requires immediate attention to prevent malicious actors from impacting public-facing web services.

Remediation

Immediate Action: Upgrade the thephpleague commonmark library to version 2.8.4 or later to implement the algorithmic fix.

Proactive Monitoring: Monitor server CPU utilization and error logs for spikes in parsing latency or recurring timeouts during markdown rendering processes.

Compensating Controls: Implement input validation or rate limiting on endpoints that accept user-provided markdown content to prevent the submission of excessively large or complex attribute blocks.

Exploitation status

Public Exploit Available: No

Analyst recommendation

Organizations using thephpleague commonmark library should prioritize this update within their standard patch management cycle. Because the vulnerability is remotely exploitable without authentication, the risk of automated scanning and exploitation is elevated. Applying the patch to version 2.8.4 is the only definitive way to resolve the underlying algorithmic inefficiency and protect application availability.

More thephpleague CVEs

History

  1. Disclosed CVE record published
  2. Collected by CVE Brief via github
  3. Analyst report written
  4. Published in the daily brief high section

Sources

Originally found and disclosed by GrahamCampbell, per the CVE Program record.