LOW 3.3

CVE-2026-14651: Denial of Service in grass Sass Compiler via Selector Expansion

A denial of service vulnerability exists in the grass Sass compiler (versions up to 0.13.4) affecting the selector extension functionality. An attacker with local access can craft malicious Sass input that causes excessive compilation time, potentially consuming system resources. The vendor has clarified that the vulnerability description conflates expected algorithmic behavior with an actual flaw—the @extend mechanism is inherently exponential by design, and DoS conditions via recursive constructs are a known characteristic of Sass compilers rather than a security defect.

Source data · NVD / CISA · public domain

CVSS
3.1 · 3.3 LOW · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Weaknesses (CWE)
CWE-404
Affected products
0 configuration(s)
Published / Modified
2026-07-04 / 2026-07-06

NVD description (verbatim)

A vulnerability has been found in connorskees grass up to 0.13.4. The impacted element is the function grass_compiler::selector::extend/grass_compiler::evaluate::visitor. The manipulation leads to denial of service. The attack must be carried out locally. The exploit has been disclosed to the public and may be used. The project maintainer explains: "DoS vulnerabilities are generally fine in Sass compilers -- they are trivially possible with recursive functions, infinite loops, nested mixins, etc. The description here is wrong. Compile time is not expected to be linear relative to the input, and the @extend algorithm is definitionally exponential."

6 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-14651 involves the grass_compiler::selector::extend and grass_compiler::evaluate::visitor functions within the connorskees grass compiler. The vulnerability allows local attackers to trigger computationally expensive selector expansion operations, leading to denial of service through prolonged compilation times. The root cause relates to the exponential nature of the @extend algorithm when processing certain selector patterns. The attack vector is local, requires low privileges, and does not require user interaction. CWE-404 (Improper Resource Validation) is associated with this issue.

Business impact

Organizations using grass for Sass compilation in CI/CD pipelines or build systems may experience increased build times, timeouts, or resource exhaustion when processing untrusted or adversarially crafted stylesheets. In isolated environments where compilation is performed on user-supplied input, this could disrupt service availability. However, given the CVSS 3.3 (LOW) severity rating and the vendor's positioning that this reflects expected algorithmic behavior rather than a true flaw, actual business risk is typically limited to operational inconvenience rather than data loss or system compromise.

Affected systems

The grass Sass compiler through version 0.13.4 is affected. Any system that compiles Sass stylesheets using grass—particularly build servers, development environments, or web applications that dynamically compile user-provided stylesheets—may be impacted. The vulnerability requires local access, limiting exposure in typical cloud or SaaS scenarios where compilation is sandboxed.

Exploitability

The exploit is publicly disclosed. However, actual exploitability is constrained by the requirement for local access and the need to supply malicious Sass input to the compiler. Likelihood of exploitation in production is low unless stylesheets come from untrusted sources. The vendor's technical clarification—that selector expansion is exponential by design—suggests that standard usage patterns are not at risk; targeted adversarial input is required to trigger the condition.

Remediation

Upgrade grass to a version patched after 0.13.4 (verify against the vendor's GitHub repository and release notes for the specific fixed version). If immediate upgrade is not feasible, limit local access to the compilation environment and avoid processing Sass stylesheets from untrusted sources. Consider running compilation in resource-constrained containers with CPU and memory limits to prevent runaway processes.

Patch guidance

Check the connorskees grass project repository for release versions newer than 0.13.4. Apply the latest stable release that addresses this issue. Since the vendor has contextualized this as expected algorithmic behavior rather than a defect, patch releases may focus on optimization or documentation rather than a breaking change. Review release notes to confirm the specific mitigation approach in each version increment.

Detection guidance

Monitor compilation processes for excessive CPU usage or wall-clock time when processing Sass input. Log and alert on compiler processes that exceed baseline execution time by significant margins. In CI/CD environments, enforce build timeouts and capture failed compilation logs for analysis. Static analysis of Sass source code for deeply nested @extend rules or complex selector chains may identify risky patterns before compilation.

Why prioritize this

Although CVE-2026-14651 has a LOW CVSS score (3.3), it warrants attention in environments that process untrusted stylesheets or rely heavily on grass for build automation. Prioritize patching in systems where build reliability directly impacts service delivery. The vendor's stance that this is expected behavior means this should not be treated as an emergency; schedule patching in routine maintenance windows unless you have confirmed exposure to adversarial stylesheet input.

Risk score, explained

The CVSS 3.1 score of 3.3 reflects local-only attack vector (AV:L), low attack complexity (AC:L), low privileges required (PR:L), no user interaction (UI:N), and impact limited to availability (A:L). The score is intentionally low because exploitation requires pre-existing local access and does not lead to confidentiality or integrity violations. The vendor's clarification that exponential behavior is architectural rather than a flaw supports this modest severity rating.

Frequently asked questions

Is this a critical vulnerability I must patch immediately?

No. The CVSS score of 3.3 (LOW) and the vendor's explanation that selector expansion is exponential by design indicate this is not an emergency. Patch during your next scheduled maintenance window unless your environment processes Sass from actively hostile actors.

Can this vulnerability be exploited remotely?

No. The attack vector is strictly local (AV:L), meaning an attacker must already have access to the system running the compiler. Remote exploitation is not possible.

What is the difference between a design limitation and a security vulnerability in this case?

The vendor clarifies that the exponential nature of the @extend algorithm is by specification, not a bug. However, CVE-2026-14651 documents that this can be weaponized to cause denial of service if an attacker supplies carefully crafted input. The distinction is important: the issue is neither a defect in the algorithm nor a non-issue, but rather a situational risk when handling untrusted input.

How should I prioritize this if I only compile trusted stylesheets?

If your Sass stylesheets come exclusively from your organization's development team, the practical risk is minimal. Prioritize updating grass as part of your regular dependency maintenance, but this should not disrupt other work or require emergency change control procedures.

This analysis is based on publicly available information from the NVD, vendor advisory, and CVE record as of the publication date. Security landscapes evolve; verify all patch versions, remediation steps, and affected product versions against the vendor's official GitHub repository and security advisories before making deployment decisions. No exploit code or weaponized proof-of-concept instructions are provided. Organizations are responsible for assessing their own exposure and applying appropriate controls based on their specific use of the grass compiler and sensitivity of their build environments. Source: NVD (public-domain), retrieved 2026-08-13. Analysis generated by SEC.co (claude-haiku-4-5).