{"id":"CVE-2026-61846","title":"Crass: Deeply nested CSS blocks and functions can trigger a SystemStackError or excessive memory usage","summary":"Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, Crass recursively parses `CSS simple blocks and functions` without a depth guard. An attacker-controlled CSS value containing de…","severity":"medium","cvss":6.3,"cvssVector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L","cvssSource":"cna","cwe":["CWE-674","CWE-400"],"vendor":"rgrove","product":"crass","affected":["crass < 1.0.7"],"ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"partial","timestamp":"2026-11-05T02:28:35.312363Z"},"published":"2026-10-30","updated":"2026-11-05","sourceUpdated":"2026-11-05T02:28:46.025Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-61846","references":[{"url":"https://github.com/rgrove/crass/security/advisories/GHSA-6jxj-px6v-747w","label":"https://github.com/rgrove/crass/security/advisories/GHSA-6jxj-px6v-747w"},{"url":"https://github.com/rgrove/crass/commit/cf68287356ec6e20d51cfc4a2d0c3912b7334e99","label":"https://github.com/rgrove/crass/commit/cf68287356ec6e20d51cfc4a2d0c3912b7334e99"},{"url":"https://github.com/rgrove/crass/releases/tag/v1.0.7","label":"https://github.com/rgrove/crass/releases/tag/v1.0.7"},{"url":"https://github.com/advisories/GHSA-6jxj-px6v-747w"}],"tags":["cve.org","ghsa","rubygems"],"epss":0.00486,"epssPercentile":0.41938,"aliases":["GHSA-6jxj-px6v-747w"],"ecosystem":"rubygems","patched":["crass 1.0.7"],"ingestedAt":"2026-10-29T16:38:25.971Z","slug":"CVE-2026-61846","body":"## Overview\n\nCrass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, Crass recursively parses `CSS simple blocks and functions` without a depth guard. An attacker-controlled CSS value containing deeply nested blocks or functions can recurse until Ruby raises `SystemStackError`: stack level too deep, or cause excessive memory usage. Version 1.0.7 adds a configurable depth limit with a conservative default. This issue is fixed in version 1.0.7.\n\n## Affected\n\n- `crass < 1.0.7`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-61846)\n\nAffected packages:\n\n- `crass < 1.0.7`\n\nPatched in:\n\n- `crass 1.0.7`\n\nSource: https://github.com/advisories/GHSA-6jxj-px6v-747w","depth":"sunlit","depthScore":35,"depthScoreParts":{"impact":34.7,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":234533,"id":"CVE-2026-61846","ts":1793914656815,"field":"cvss","old":null,"new":"6.3"}]}