{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-116695", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-10-26T20:00:59.831Z", "datePublished": "2026-10-27T20:10:34.010Z", "dateUpdated": "2026-10-27T20:10:34.010Z" }, "containers": { "cna": { "title": "Crass: Incorrect tokenization of bad URLs enables CSS sanitizer bypass", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-436", "lang": "en", "description": "CWE-436: Interpretation Conflict", "type": "CWE" } ] } ], "metrics": [ { "cvssV4_0": { "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "PASSIVE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "LOW", "subIntegrityImpact": "LOW", "subAvailabilityImpact": "NONE", "baseScore": 5.3, "baseSeverity": "MEDIUM", "vectorString": "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" } } ], "references": [ { "name": "https://github.com/rgrove/crass/security/advisories/GHSA-pq4g-8rxf-4g29", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/rgrove/crass/security/advisories/GHSA-pq4g-8rxf-4g29" }, { "name": "https://github.com/rgrove/crass/commit/689fc45c632fdf3803b2f4e844ffc9cca3b08f34", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/rgrove/crass/commit/689fc45c632fdf3803b2f4e844ffc9cca3b08f34" }, { "name": "https://github.com/rgrove/crass/releases/tag/v1.0.8", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/rgrove/crass/releases/tag/v1.0.8" } ], "affected": [ { "vendor": "rgrove", "product": "crass", "versions": [ { "version": "< 1.0.8", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-10-27T20:10:34.010Z" }, "descriptions": [ { "lang": "en", "value": "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." } ], "source": { "advisory": "GHSA-pq4g-8rxf-4g29", "discovery": "UNKNOWN" } } } }