CVE-2026-71478
Description
league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 1.5.0 until 2.9.0, the AttributesExtension's href and src unsafe-link filter can be bypassed by embedding control bytes, such as a tab, carriage return, line feed, or leading C0 control character, in a javascript: URL that browsers discard before parsing the scheme, causing the browser to still execute the script even when the unsafe-link filter is enabled. This issue is fixed in 2.9.0.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or — if you've already worked around this in production — publish your fix to the community-verified tier.
Propose a mitigation on Community Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| Packagist | league/commonmark | >=1.5.0,<2.9.0 | 2.9.0 |
| Packagist | league/commonmark | >=1.5.0,<=2.8.3 | |
References
- https://github.com/thephpleague/commonmark/commit/493a5aa7d65754b73846006eaff9c2c4431a8e2c
- https://github.com/thephpleague/commonmark/releases/tag/2.9.0
- https://github.com/thephpleague/commonmark/security/advisories/GHSA-29pj-957v-52mc
- https://github.com/advisories/GHSA-29pj-957v-52mc
- https://github.com/thephpleague/commonmark
CWEs
CWE-79 CWE-86 CWE-692
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.