CVE-2026-61846
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może dostarczyć złośliwy CSS, który wyczerpie stos lub pamięć aplikacji parsującej, powodując jej awarię i niedostępność usługi.
Rekomendacja
Zaktualizuj bibliotekę Crass do wersji 1.0.7 lub nowszej, która wprowadza konfigurowalny limit głębokości z konserwatywnym domyślnym ustawieniem.
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-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.
- CVE-2026-116695Średnie
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.
Oryginalny opis (angielski, źródło NVD)
Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3 specification. Prior to 1.0.7, Crass recursively parses `CSS simple blocks and functions` without a depth guard. An attacker-controlled CSS value containing deeply nested blocks or functions can recurse until Ruby raises `SystemStackError`: stack level too deep, or cause excessive memory usage. Version 1.0.7 adds a configurable depth limit with a conservative default. This issue is fixed in version 1.0.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

