{"affected":[{"product":"crass","source":"CNA: GitHub_M","vendor":"rgrove","versions":[{"status":"affected","version":"< 1.0.8"}]},{"defaultStatus":"unaffected","ecosystem":"RubyGems","packageName":"crass","product":"crass","source":"OSV GHSA-pq4g-8rxf-4g29","vendor":"","versions":[{"status":"affected","version":"0.0.1","versionType":"RubyGems"},{"status":"affected","version":"0.0.2","versionType":"RubyGems"},{"status":"affected","version":"0.1.0","versionType":"RubyGems"},{"status":"affected","version":"0.2.0","versionType":"RubyGems"},{"status":"affected","version":"0.2.1","versionType":"RubyGems"},{"status":"affected","version":"1.0.0","versionType":"RubyGems"},{"status":"affected","version":"1.0.1","versionType":"RubyGems"},{"status":"affected","version":"1.0.2","versionType":"RubyGems"},{"status":"affected","version":"1.0.3","versionType":"RubyGems"},{"status":"affected","version":"1.0.4","versionType":"RubyGems"},{"status":"affected","version":"1.0.5","versionType":"RubyGems"},{"status":"affected","version":"1.0.6","versionType":"RubyGems"},{"status":"affected","version":"1.0.7","versionType":"RubyGems"},{"events":[{"introduced":"0"},{"fixed":"1.0.8"}],"status":"unknown","version":"0","versionType":"ECOSYSTEM"}]}],"cveId":"CVE-2026-116695","cwes":["CWE-436"],"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.","epss":{"date":"2026-11-02","percentile":0.29027,"score":0.00353},"exploits":[],"kev":null,"metrics":[{"score":5.3,"severity":"medium","source":"CNA: GitHub_M","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","version":"4.0"}],"modifiedAt":1793707984293,"publishedAt":1793131834010,"references":[{"source":"CNA: GitHub_M","tags":["x_refsource_CONFIRM"],"url":"https://github.com/rgrove/crass/security/advisories/GHSA-pq4g-8rxf-4g29"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/rgrove/crass/commit/689fc45c632fdf3803b2f4e844ffc9cca3b08f34"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/rgrove/crass/releases/tag/v1.0.8"},{"source":"OSV / GitHub Security Advisories","tags":["advisory"],"url":"https://github.com/advisories/GHSA-pq4g-8rxf-4g29"},{"source":"OSV / GitHub Security Advisories","tags":["osv"],"url":"https://osv.dev/vulnerability/GHSA-pq4g-8rxf-4g29"}],"remediation":[{"kind":"fix","source":"OSV GHSA-pq4g-8rxf-4g29","text":"crass (RubyGems): OSV reports a fixed version 1.0.8. Check the advisory for supported release branches.","url":"https://github.com/advisories/GHSA-pq4g-8rxf-4g29"}],"revision":"094e3308fa7822c4d9c23d8d621c82dcfee496bbe85033f1fee2ca881754b595","sources":[{"modifiedAt":1793707984293,"name":"CNA: GitHub_M","retrievedAt":1793711372286,"url":"https://www.cve.org/CVERecord?id=CVE-2026-116695"},{"modifiedAt":1793228404150,"name":"OSV / GitHub Security Advisories","retrievedAt":1793711373941,"url":"https://osv.dev/vulnerability/GHSA-pq4g-8rxf-4g29"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793711404999,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-116695"}],"ssvc":{"assessedAt":1793707805530,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"Crass: Incorrect tokenization of bad URLs enables CSS sanitizer bypass","updatedAt":1793711404999}