CVE-2026-86431 commonmark before 2.9.1 XSS via AttributesExtension form feed bypass

Medium 6.9 Published Updated

Attackers can inject malicious scripts into rendered HTML by bypassing attribute filters in the commonmark library's AttributesExtension.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-86431?

CVE-2026-86431 is a medium-severity cross-site scripting vulnerability in thephpleague commonmark, published on 7 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-79

Which versions are affected by CVE-2026-86431?

2 open source packages ship an affected version, including league/commonmark. It affects 1 product.

PackageAffectedFixed in
league/commonmark PackagistFrom 2.7.02.9.1
league/commonmark PackagistFrom 2.7.02.9.1

Products include Thephpleague Commonmark.

How do I fix CVE-2026-86431?

Upgrade league/commonmark to 2.9.1 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-86431 being exploited?

There is no known exploitation of CVE-2026-86431 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2026-86431, GHSA-f8fg-pg57-v4j8, GHSA-m24x-mf52-x8gc, UBUNTU-CVE-2026-86431.

Is CVE-2026-86431 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free