# CVE-2026-61845: Crass CSS parser denial of service via large numeric exponents

Source: https://junglewise.ai/threats/cve-2026-61845-crass-large-numeric-exponents-cause-cpu-and-memory-denial-of  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-30. Updated: 2026-10-20  
License: CC BY 4.0 with a link back

CVE-2026-61845 · Severity: high · CVSS 4 · Published 2026-10-30

Crass is a Ruby library that parses CSS stylesheets. An attacker who can supply a malicious CSS string with extremely large numeric exponents can force the parser to consume disproportionate CPU and memory, potentially crashing the application. This affects any web application or tool that uses Crass to parse untrusted CSS input.

Technologies: [Rgrove Crass](https://junglewise.ai/threats/technologies/rgrove-crass), [crass (RubyGems)](https://junglewise.ai/threats/technologies/crass). Vendors: [Rgrove](https://junglewise.ai/threats/vendors/rgrove), [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2026-61845 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-61845 being exploited in the wild.

**How severe is CVE-2026-61845?** High 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-61845?** Yes. crass (RubyGems): upgrade to 1.0.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-61845 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-61845?** 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

  ```sh
  bundle update crass
  ```


## Technical details

The vulnerability is an uncontrolled recursion or unbounded computation in CSS scientific notation parsing. Crass performs exponentiation on numeric values before clamping the result to Float::MAX, allowing attackers to craft tiny CSS payloads with large exponents that trigger excessive CPU and memory consumption. The flaw is in the parsing logic and can be exploited via network if the application exposes CSS parsing to untrusted input.

## Affected products

- rgrove Crass < 1.0.7

## Identifiers

- CVE-2026-61845
- GHSA-6wmf-3r64-vcwv

## Timeline

- 2026-06-25: disclosed
- 2026-10-20: advisory

## References

- [https://api.github.com/users/hourianto](https://api.github.com/users/hourianto)

## Related threats

- [Crass library non-ASCII character parsing DoS](https://junglewise.ai/threats/cve-2026-61848-crass-non-ascii-characters-cause-superlinear-cpu-consumption)
- [Crass CSS parser stack overflow via excessive comments](https://junglewise.ai/threats/cve-2026-61847-crass-a-large-number-of-adjacent-css-comments-can-trigger-a)
- [Crass CSS parser uncontrolled recursion denial of service](https://junglewise.ai/threats/cve-2026-61846-crass-deeply-nested-css-blocks-and-functions-can-trigger-a)
- [Crass CSS parser bad URL tokenizer bypass in sanitizers](https://junglewise.ai/threats/cve-2026-116695-crass-is-a-ruby-css-parser-that-is-compliant-with-the-css-syntax)
