CVE-2026-61845
WysokieCVSS 8.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może dostarczyć spreparowany CSS, który wyczerpie zasoby procesu i doprowadzi do odmowy usługi lub awarii aplikacji. Ryzyko dotyczy aplikacji przetwarzających niezaufane arkusze stylów.
Rekomendacja
Zaktualizuj bibliotekę Crass do wersji 1.0.7 lub nowszej. Rozważ też ograniczenie rozmiaru i złożoności przetwarzanego CSS.
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-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 converts `CSS scientific notation` number values with unbounded exponentiation before clamping the result to `Float::MAX`. Applications that use Crass to parse attacker-controlled CSS strings can be forced to spend disproportionate CPU and memory parsing a tiny input, potentially resulting in a crash. This issue is fixed in version 1.0.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

