Every CVE Search/ Get API key

CVE-2026-61847

Crass: A large number of adjacent CSS comments can trigger a SystemStackError

6.3 MediumFix available

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.49%Unchanged since Oct 31, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.3

Crass: A large number of adjacent CSS comments can trigger a SystemStackError

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
CVE-2026-61847
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Weakness
CWE-674
Updated
2026-11-02
EUVDEUVD-2026-114323 6.3

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
EUVD-2026-114323
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-wwpr-jff3-395c 6.3

Crass: A large number of adjacent CSS comments can trigger a SystemStackError

Impact

When the :preserve_comments option is not enabled (which is the default behavior), Crass discards CSS comments by recursively consuming the next token. An attacker who provides a stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError.

Patches

This is fixed in Crass 1.0.7, which no longer recurses when discarding comments.

Workarounds

Set the :preserve_comments option to true if this is acceptable to your use case (recursion doesn't occur when comments are preserved).

Record
GHSA-wwpr-jff3-395c
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Weakness
CWE-674
Updated
2026-11-02
NVD 6.3

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
CVE-2026-61847
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-674
Updated
2026-11-02
OSV 6.3

Crass: A large number of adjacent CSS comments can trigger a SystemStackError

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
CVE-2026-61847
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Weakness
CWE-674
Updated
2026-11-02
OSVDEBIAN-CVE-2026-61847 6.3

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
DEBIAN-CVE-2026-61847
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVGHSA-wwpr-jff3-395c 6.3

Crass: A large number of adjacent CSS comments can trigger a SystemStackError

Impact

When the :preserve_comments option is not enabled (which is the default behavior), Crass discards CSS comments by recursively consuming the next token. An attacker who provides a stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError.

Patches

This is fixed in Crass 1.0.7, which no longer recurses when discarding comments.

Workarounds

Set the :preserve_comments option to true if this is acceptable to your use case (recursion doesn't occur when comments are preserved).

Record
GHSA-wwpr-jff3-395c
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Weakness
CWE-674
Updated
2026-11-02
OSVUBUNTU-CVE-2026-61847 6.3

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preserve_comments option is not enabled, which is the default, Crass discards CSS comments by recursively consuming the next token. An attacker-provided stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a SystemStackError, denying service to the parsing application. Preserving comments avoids this recursive path. This issue is fixed in version 1.0.7.

Record
UBUNTU-CVE-2026-61847
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Updated
2026-11-04

Affected products

Affected packages

Affected packages
PackageAffectedFixed
crass
RubyGems
before 1.0.7
1.0.7
ruby-crass
Debian:12
All versions, plus listed versions
1.0.2-31.0.6-11.0.7-11.0.8-1
None known
ruby-crass
Debian:13
All versions, plus listed versions
1.0.6-11.0.7-11.0.8-1
None known
ruby-crass
Debian:14
before 1.0.7-1, plus listed versions
1.0.6-1
1.0.7-1
crass
RubyGems
before 1.0.7, plus listed versions
0.0.10.0.20.1.00.2.00.2.1
Show 7 moreShow less
1.0.01.0.11.0.21.0.31.0.41.0.51.0.6
1.0.7
ruby-crass
Ubuntu:16.04:LTS
All versions, plus listed versions
1.0.2-2
None known
ruby-crass
Ubuntu:18.04:LTS
All versions, plus listed versions
1.0.2-2
None known
ruby-crass
Ubuntu:20.04:LTS
All versions, plus listed versions
1.0.2-2
None known
ruby-crass
Ubuntu:22.04:LTS
All versions, plus listed versions
1.0.2-2.11.0.2-3
None known
ruby-crass
Ubuntu:24.04:LTS
All versions, plus listed versions
1.0.2-3
None known
ruby-crass
Ubuntu:26.10
All versions, plus listed versions
1.0.6-1ubuntu1
None known
ruby-crass
Ubuntu:26.04:LTS
All versions, plus listed versions
1.0.6-1ubuntu1
None known

History

History
RecordedChangedSources
affected, aliases, facts, referencesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-61847 is a medium vulnerability (CVSS 6.3) in Rgrove Crass, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.49%, the 41st percentile. Fixed in crass 1.0.7.

References

Show 4 moreShow less
MoveEnter Open