CVE-2026-116695
Received Received - Intake

Crass Ruby CSS Parser Bad URL Handling Issue

Vulnerability report for CVE-2026-116695, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-27

Last updated on: 2026-10-27

Assigner: GitHub, Inc.

Description

Crass is a Ruby CSS parser that is compliant with the CSS Syntax Level 3 specification. Prior to 1.0.8, Crass incorrectly treats a closing parenthesis after an escaped backslash as escaped while consuming the remnants of a bad URL. Crass therefore keeps declarations, style rules, or at-rules inside a bad URL token even though a browser treats them as live CSS. A sanitizer that parses untrusted CSS with Crass and reserializes it without rejecting the bad URL can allow CSS used for UI redress, external resource loading, or CSS-based data exfiltration, but this issue does not enable script execution in modern browsers. This issue is fixed in version 1.0.8.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-27
Last Modified
2026-10-27
Generated
2026-10-27
AI Q&A
2026-10-27
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
rgrove crass < 1.0.8

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-436 Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

Crass is a Ruby CSS parser that follows CSS Syntax Level 3. Before version 1.0.8, it incorrectly handled a closing parenthesis after an escaped backslash in a bad URL. This caused Crass to keep CSS declarations, style rules, or at-rules inside a bad URL token even though browsers treat them as invalid. A sanitizer using Crass to parse untrusted CSS and reserialize it without rejecting the bad URL could allow malicious CSS for UI redress, external resource loading, or data exfiltration, but it does not enable script execution in modern browsers.

Impact Analysis

If you use Crass versions before 1.0.8 to sanitize untrusted CSS, an attacker could craft malicious CSS that bypasses sanitization. This could lead to UI redress attacks, unauthorized resource loading, or data exfiltration. However, modern browsers prevent script execution, limiting the impact to non-script-based attacks.

Mitigation Strategies

Update Crass to version 1.0.8 or later to address the vulnerability. If using a Ruby application that depends on Crass, check for updates in your package manager or Gemfile and apply them immediately.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-116695. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart