CVE-2026-116695: Crass: Incorrect tokenization of bad URLs enables CSS sanitizer bypass
Crass’s tokenizer didn’t terminate a bad URL token at a ) that followed an escaped backslash (\\). As a result, Crass consumed more input as part of the bad URL than a spec-compliant browser does. CSS sanitizers that parse untrusted CSS with Crass and re-emit it could be tricked into passing through declarations, style rules, or at-rules (including @import) that the sanitizer would otherwise have removed, but that a browser would then parse and apply.
References
- github.com/advisories/GHSA-pq4g-8rxf-4g29
- github.com/rgrove/crass/commit/689fc45c632fdf3803b2f4e844ffc9cca3b08f34
- github.com/rgrove/crass/releases/tag/v1.0.8
- github.com/rgrove/crass/security/advisories/GHSA-pq4g-8rxf-4g29
- github.com/rubysec/ruby-advisory-db/blob/master/gems/crass/GHSA-pq4g-8rxf-4g29.yml
- nvd.nist.gov/vuln/detail/CVE-2026-116695
Code Behaviors & Features
Detect and mitigate CVE-2026-116695 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →