CVE-2026-116695 Crass: Incorrect tokenization of bad URLs enables CSS sanitizer bypass
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-116695?
CVE-2026-116695 is a medium-severity vulnerability in rgrove crass, published on 27 Oct 2026.
Official description
Crass is a Ruby CSS parser that is compliant with the CSS Syntax Level 3 specification. Prior to 1.0.8, Crass incorrectly treats a closing parenthesis after an escaped backslash as escaped while consuming the remnants of a bad URL. Crass therefore keeps declarations, style rules, or at-rules inside a bad URL token even though a browser treats them as live CSS. A sanitizer that parses untrusted CSS with Crass and reserializes it without rejecting the bad URL can allow CSS used for UI redress, external resource loading, or CSS-based data exfiltration, but this issue does not enable script execution in modern browsers. This issue is fixed in version 1.0.8.
Weakness: CWE-436
Which versions are affected by CVE-2026-116695?
2 open source packages ship an affected version, including crass.
| Package | Affected | Fixed in |
|---|---|---|
crass RubyGems | All versions | 1.0.8 |
crass RubyGems | All versions | 1.0.8 |
How do I fix CVE-2026-116695?
Upgrade crass to 1.0.8 or later.
Is CVE-2026-116695 being exploited?
There is no known exploitation of CVE-2026-116695 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-116695, GHSA-pq4g-8rxf-4g29, UBUNTU-CVE-2026-116695.