UBUNTU-CVE-2026-61847: Medium severity ubuntu/ruby-crass vulnerability

Published Nov 3, 2026
·
Updated

Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, when the :preservecomments 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.

Affected Software

7 affected components
ubuntu/ruby-crass*
ubuntu/ruby-crass*
ubuntu/ruby-crass*
ubuntu/ruby-crass*
ubuntu/ruby-crass*
ubuntu/ruby-crass*
ubuntu/ruby-crass*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Crass to a version that resolves this vulnerability.

    Fixed in 1.0.7

Event History

Nov 3, 2026
CVE Published
via OSV·12:00 AM
Data Sourced
via OSV·12:00 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who is exposed to this denial-of-service issue?

Applications that use ruby-crass to parse attacker-provided or otherwise untrusted CSS are exposed, particularly when they use the default configuration that does not preserve comments. The impact is a parser failure with SystemStackError, which can deny service to the parsing application.

2

What input is required to trigger the issue?

An attacker needs to provide a stylesheet with a very large number of adjacent CSS comments. No privileges or user interaction are required according to the supplied severity vector.

3

Are default configurations affected?

Yes. The vulnerable recursive comment-handling path is used when :preserve_comments is not enabled, and that is the default behavior.

4

What can be done if upgrading is not immediately possible?

Enable the :preserve_comments option when parsing CSS to avoid the recursive path. Longer term, update ruby-crass to version 1.0.7, which fixes the issue.

5

How can I determine whether an application is affected?

Check whether it uses ruby-crass before version 1.0.7 and parses untrusted stylesheets without enabling :preserve_comments. Such an application may fail with SystemStackError when processing CSS containing many adjacent comments.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203