CVE-2026-116695
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
W parserze CSS Crass (Ruby) przed wersją 1.0.8 niepoprawnie traktuje nawias zamykający po escapowanym backslashu jako escapowany podczas przetwarzania resztek błędnego URL. Crass zachowuje deklaracje, reguły stylów lub at-rules wewnątrz błędnego tokenu URL, mimo że przeglądarka traktuje je jako aktywny CSS.
Ocena ryzyka
Sanityzer używający Crass do parsowania niezaufanego CSS i reserializacji bez odrzucenia błędnego URL może umożliwić ataki UI redress, ładowanie zewnętrznych zasobów lub eksfiltrację danych przez CSS. Podatność nie umożliwia wykonania skryptów we współczesnych przeglądarkach.
Rekomendacja
Zaktualizuj Crass do wersji 1.0.8 lub nowszej. W sanityzerach CSS odrzucaj lub normalizuj błędne tokeny URL zamiast je reserializować.
Inne podatności w Crass
Zobacz wszystkie- GHSA-pq4g-8rxf-4g29Nieznane
Tokenizator biblioteki Crass nie kończył błędnego tokenu URL na znaku ) występującym po escapowanym backslashu (\\). W rezultacie Crass pobierał więcej danych wejściowych jako część błędnego URL niż zgodna ze specyfikacją przeglądarka. Sanitizery CSS, które parsują niezaufany CSS za pomocą Crass i ponownie go emitują, mogą zostać oszukane.
- GHSA-6wmf-3r64-vcwvNieznane
Podatność w bibliotece Crass powoduje nieograniczone przetwarzanie notacji naukowej w wartościach CSS przed ograniczeniem wyniku do Float::MAX. Atakujący może przesłać mały, spreparowany ciąg CSS, który wymusi nadmierne zużycie CPU i pamięci.
- GHSA-8vfg-2r28-hvhjNieznane
Podatność w bibliotece Crass powoduje nadmierne zużycie CPU podczas parsowania danych zawierających znaki spoza ASCII. Nieefektywne śledzenie pozycji znaków wielobajtowych prowadzi do superlinearnego czasu parsowania.
- GHSA-wwpr-jff3-395cNieznane
Podatność w bibliotece Crass umożliwia atak DoS poprzez dostarczenie arkusza stylów z bardzo dużą liczbą sąsiadujących komentarzy CSS, gdy opcja :preserve_comments jest wyłączona (domyślne zachowanie). Powoduje to nadmierną rekurencję i potencjalne wyczerpanie zasobów systemowych.
- GHSA-6jxj-px6v-747wNieznane
Podatność w bibliotece Crass umożliwia atakującemu wywołanie przepełnienia stosu lub nadmiernego zużycia pamięci poprzez rekurencyjne parsowanie głęboko zagnieżdżonych bloków CSS.
- CVE-2026-61848Średnie
Crass (parser CSS w Ruby) w wersjach przed 1.0.7 nieefektywnie śledzi pozycje znaków wielobajtowych podczas analizy danych wejściowych zawierających znaki nie-ASCII. Powoduje to ponadliniowy czas analizy, a atakujący może dostarczyć CSS z wieloma znakami nie-ASCII, wywołując nadmierne zużycie CPU i potencjalną odmowę usługi.
- CVE-2026-61847Średnie
Biblioteka Crass (parser CSS w Ruby) w wersjach przed 1.0.7, gdy opcja :preserve_comments jest wyłączona (domyślnie), odrzuca komentarze CSS poprzez rekurencyjne pobieranie kolejnego tokenu. Arkusz stylów z bardzo dużą liczbą sąsiadujących komentarzy może wywołać nadmierną rekurencję i błąd SystemStackError, powodując odmowę usługi w aplikacji parsującej.
- CVE-2026-61846Średnie
Biblioteka Crass (parser CSS w Ruby) w wersjach przed 1.0.7 rekurencyjnie parsuje proste bloki i funkcje CSS bez ograniczenia głębokości. Wartość CSS kontrolowana przez atakującego, zawierająca głęboko zagnieżdżone bloki lub funkcje, może wywołać rekurencję aż do błędu SystemStackError lub nadmiernego zużycia pamięci.
- CVE-2026-61845Wysokie
W Crass (parser CSS w Ruby zgodny ze specyfikacją CSS Syntax Level 3) przed wersją 1.0.7 wartości liczbowe w notacji naukowej są przeliczane z nieograniczoną potęgą przed ograniczeniem wyniku do Float::MAX. Aplikacje parsujące niezaufany CSS mogą zostać zmuszone do nadmiernego zużycia CPU i pamięci przy przetwarzaniu bardzo małego wejścia, co może doprowadzić do awarii.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

