{"id":"CVE-2026-61847","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-61847","summary":"Crass: A large number of adjacent CSS comments can trigger a SystemStackError","details":"### Impact\n\nWhen the `:preserve_comments` option is not enabled (which is the default behavior), Crass discards CSS comments by recursively consuming the next token. An attacker who provides a stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a `SystemStackError`.\n\n### Patches\n\nThis is fixed in Crass 1.0.7, which no longer recurses when discarding comments.\n\n### Workarounds\n\nSet the `:preserve_comments` option to `true` if this is acceptable to your use case (recursion doesn't occur when comments are preserved).","published":"2026-10-29T16:35:23Z","modified":"2026-10-29T16:45:06.064429996Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"RubyGems","name":"crass","fixedVersion":"1.0.7"}],"fix":{"url":"https://github.com/rgrove/crass/commit/25d78cc607c54262e9d43ea1930f3ba5bb03dfb5","label":"rgrove/crass@25d78cc"},"references":[{"type":"WEB","url":"https://github.com/rgrove/crass/security/advisories/GHSA-wwpr-jff3-395c"},{"type":"WEB","url":"https://github.com/rgrove/crass/commit/25d78cc607c54262e9d43ea1930f3ba5bb03dfb5"},{"type":"PACKAGE","url":"https://github.com/rgrove/crass"},{"type":"WEB","url":"https://github.com/rgrove/crass/releases/tag/v1.0.7"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-29T16:45:06.064429996Z"}}