Description
Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when Crass parses input containing `non-ASCII characters`, inefficiencies in tracking the positions of `multi-byte characters` result in superlinear parsing time. An attacker-controlled CSS input consisting of many `non-ASCII characters` can therefore cause excessive CPU consumption and potentially denial of service. This issue is fixed in version 1.0.7.
Published: 2026-10-30
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

Crass, a Ruby CSS parser, has an inefficiency that causes superlinear parsing time when handling CSS strings that contain many non‑ASCII, multi‑byte characters. This leads to excessive CPU consumption and can trigger a denial‑of‑service condition if an attacker supplies sufficiently large, crafted CSS input. The weakness is a resource‑consumption flaw identified by CWE‑400.

Affected Systems

The Crass library for Ruby, version 1.0.6 and earlier, is vulnerable. Applications that import or parse untrusted CSS using these versions are impacted. The vendor product is rgrove:Crass.

Risk and Exploitability

The CVSS score of 6.3 indicates moderate severity. EPSS data is not provided, so the exploitation probability cannot be quantified. The vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is delivering large CSS payloads that include many non‑ASCII characters to the vulnerable parser, assuming the application allows arbitrary CSS input from external sources or has no size limits or rate limiting in place. The impact is a denial of service via CPU exhaustion.

Generated by OpenCVE AI on October 30, 2026 at 21:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Crass to version 1.0.7 or newer
  • If an upgrade is not possible, enforce a maximum size on CSS input before parsing and reject oversized requests
  • Implement validators that strip or reject non‑ASCII characters in CSS input before it reaches Crass

Generated by OpenCVE AI on October 30, 2026 at 21:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8vfg-2r28-hvhj Crass: Non-ASCII characters cause superlinear CPU consumption
History

Fri, 30 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Rgrove
Rgrove crass
Vendors & Products Rgrove
Rgrove crass

Fri, 30 Oct 2026 19:00:00 +0000

Type Values Removed Values Added
Description Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when Crass parses input containing `non-ASCII characters`, inefficiencies in tracking the positions of `multi-byte characters` result in superlinear parsing time. An attacker-controlled CSS input consisting of many `non-ASCII characters` can therefore cause excessive CPU consumption and potentially denial of service. This issue is fixed in version 1.0.7.
Title Crass: Non-ASCII characters cause superlinear CPU consumption
Weaknesses CWE-400
References
Metrics cvssV4_0

{'score': 6.3, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T18:45:20.036Z

Reserved: 2026-07-10T20:28:17.513Z

Link: CVE-2026-61848

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-30T19:18:28.707

Modified: 2026-10-30T19:39:14.897

Link: CVE-2026-61848

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T21:15:07Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption