
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-61845 is a denial-of-service vulnerability in Crass, a Ruby CSS parser gem, caused by unbounded exponentiation when processing CSS scientific notation number values. Crass computes 10**exponent before clamping the result to Float::MAX, allowing a tiny crafted CSS input to consume disproportionate CPU and memory, potentially crashing the application. All versions of the crass RubyGem prior to 1.0.7 are affected. The vulnerability was originally published on June 25, 2026, and added to the GitHub Advisory Database on October 20, 2026. It carries a CVSS v4 base score of 8.9 (High) (GitHub Advisory, Crass Advisory).
The root cause is classified as CWE-674 (Uncontrolled Recursion/unbounded computation): Crass's CSS tokenizer evaluates scientific notation numbers (e.g., 1e999999999) by computing 10**exponent as an arbitrary-precision Ruby integer before clamping the result to Float::MAX. This unbounded exponentiation can require enormous CPU cycles and memory allocations for even a small input string. The fix in v1.0.7 bounds the exponent value before performing the computation, preventing runaway resource consumption. No authentication or special privileges are required — any application that passes attacker-controlled CSS strings to Crass's parser is vulnerable (GitHub Advisory, Crass Release).
Successful exploitation results in a denial-of-service condition affecting the availability of the vulnerable application and any downstream systems that depend on it. An unauthenticated remote attacker can craft a minimal CSS payload containing a large numeric exponent that forces the server to exhaust CPU and memory resources, potentially causing a crash or severe performance degradation. There is no impact on confidentiality or integrity — the vulnerability is purely an availability issue (GitHub Advisory, Crass Advisory).
No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the advisory publication date. The CVE status is listed as "Reserved," and there is no CISA KEV catalog entry or known threat actor attribution. The attack requires no privileges or user interaction, but does require that the target application pass attacker-controlled CSS input to Crass, which is noted as an "Attack Requirements: Present" condition in the CVSS v4 scoring (GitHub Advisory, Feedly).
crass RubyGem (versions < 1.0.7) to parse CSS input supplied by users or external sources (e.g., user-submitted stylesheets, CSS sanitization pipelines).a { width: 1e999999999; }. The payload can be very small in size.10**999999999 as an arbitrary-precision integer before clamping, consuming all available CPU and memory on the server, potentially causing a crash or making the service unresponsive (GitHub Advisory, Crass Release).NoMemoryError, Errno::ENOMEM) correlated with CSS parsing operations.The vulnerability is fixed in Crass version 1.0.7, which bounds exponents before computing 10**exponent. Operators should update the crass gem to >= 1.0.7 immediately by running bundle update crass and redeploying the application. No configuration-based workaround is available for unpatched versions; the only effective mitigation is upgrading. Applications that do not pass attacker-controlled CSS to Crass are not at risk (GitHub Advisory, Crass Release, RubyGems).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."