Description
league/commonmark (thephpleague/commonmark) versions >= 2.7.0 and < 2.9.1 contain a cross-site scripting vulnerability in the AttributesExtension. Prefixing an attribute name with a single U+000C form feed byte (e.g. {\x0Conclick="alert(1)"}) bypasses the AttributesHelper::filterAttributes() 'on*' event-handler filter because PHP's trim() does not strip U+000C, causing the attribute to be written verbatim into the output where browsers parse it as a genuine event handler. The same prefix also defeats the allow_unsafe_links check, allowing javascript: URIs through href/src attributes even when allow_unsafe_links is false. Exploitation requires processing untrusted Markdown with the AttributesExtension enabled; the injected script executes when the rendered HTML is viewed. Fixed in 2.9.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| thephpleague | commonmark | 2.7.0 – < 2.9.1 | 2.9.1 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | php-league-commonmark | 2.10.0-1 | — |
| Debian 13 | php-league-commonmark | No fix yet | — |
| Debian 12 | php-league-commonmark | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | php-league-commonmark | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | php-league-commonmark | No fix yet | — |
| Ubuntu Pro 22.04 LTS | php-league-commonmark | No fix yet | — |
| Ubuntu Pro 20.04 LTS | php-league-commonmark | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | league/commonmark | >= 2.7.0, < 2.9.1 | 2.9.1 | GHSA-f8fg-pg57-v4j8 |
References
- GitHub Security Advisory (GHSA-f8fg-pg57-v4j8) vendor-advisory
- Patch Commit patch
- VulnCheck Advisory: commonmark before 2.9.1 XSS via AttributesExtension form feed bypass third-party-advisory