CVE-2026-61846: Crass CSS parser uncontrolled recursion denial of service

CVE-2026-61846 · Severity: medium · CVSS 4 · Published 2026-10-30

Crass is a CSS parsing library used in Ruby applications to process stylesheets. An attacker who can supply malicious CSS with deeply nested blocks can cause the application to crash with a stack overflow error or consume excessive memory, disrupting service availability.

Technologies: Rgrove Crass, crass (RubyGems). Vendors: Rgrove, RubyGems.

Quick answers

Is CVE-2026-61846 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-61846 being exploited in the wild.
How severe is CVE-2026-61846?
Medium severity, with a CVSS score of 4, published 30 October 2026.
Which products and versions are affected?
Rgrove Crass < 1.0.7; crass (RubyGems) < 1.0.7, ECOSYSTEM:introduced=0,fixed=1.0.7.
Is there a fix for CVE-2026-61846?
Yes. crass (RubyGems): upgrade to 1.0.7 or later. Until then: Add SystemStackError exception handling around Crass parsing calls in your application to gracefully handle stack overflow conditions. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-61846 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-61846?
Check whether you run Rgrove Crass or crass (RubyGems) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • crass (RubyGems): upgrade to 1.0.7 or later
    bundle update crass

Add SystemStackError exception handling around Crass parsing calls in your application to gracefully handle stack overflow conditions.

Technical details

The Crass CSS parser recursively processes simple blocks and functions without enforcing a depth limit. An attacker can craft CSS with many nested blocks to trigger unbounded recursion, causing either a SystemStackError exception or exhaustion of heap memory. The vulnerability requires the attacker to control CSS input to the library; the fix in version 1.0.7 introduces a configurable depth limit with conservative defaults.

Affected products

  • rgrove Crass < 1.0.7

Identifiers

  • CVE-2026-61846
  • GHSA-6jxj-px6v-747w

Timeline

  • 2026-10-29: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.