medium5.3
CVE-2026-116695
Crass is a Ruby CSS parser that is compliant with the CSS Syntax Level 3 specification.
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rubygems | crass | <= 1.0.7 | 1.0.8 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-pq4g-8rxf-4g29
- https://github.com/rgrove/crass/security/advisories/GHSA-pq4g-8rxf-4g29
- https://nvd.nist.gov/vuln/detail/CVE-2026-116695
- https://github.com/rgrove/crass/commit/689fc45c632fdf3803b2f4e844ffc9cca3b08f34
- https://github.com/rgrove/crass/releases/tag/v1.0.8
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/crass/GHSA-pq4g-8rxf-4g29.yml