CVE-2026-61846
ŚrednieStreszczenie
Biblioteka Crass rekurencyjnie parsuje proste bloki i funkcje CSS bez ograniczenia głębokości. Wartość kontrolowana przez atakującego zawierająca wiele głęboko zagnieżdżonych bloków może powodować rekurencję aż do błędu SystemStackError: stack level too deep lub nadmierne zużycie pamięci.
Ocena ryzyka
Atakujący może dostarczyć spreparowany arkusz CSS z głęboko zagnieżdżonymi blokami, wywołując przepełnienie stosu lub wyczerpanie pamięci, co prowadzi do odmowy usługi (denial of service).
Rekomendacja
Zaktualizuj bibliotekę Crass do wersji zawierającej poprawkę. Rozważ ograniczenie głębokości zagnieżdżenia w przetwarzanych arkuszach CSS pochodzących z niezaufanych źródeł.
Inne podatności w Crass
Zobacz wszystkie- CVE-2026-61845Wysokie
Podatność w bibliotece Crass polega na nieograniczonym potęgowaniu podczas konwersji liczb w notacji naukowej CSS, zanim wynik zostanie ograniczony 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.
- 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.
- CVE-2026-61847Średnie
Gdy opcja :preserve_comments nie jest włączona (co jest domyślnym zachowaniem), biblioteka Crass odrzuca komentarze CSS, rekurencyjnie konsumując kolejny token. Atakujący dostarczający arkusz stylów z bardzo dużą liczbą sąsiadujących komentarzy może wywołać nadmierną rekurencję.
- CVE-2026-61848Średnie
Podczas parsowania danych wejściowych zawierających znaki nie-ASCII nieefektywne śledzenie pozycji znaków wielobajtowych w bibliotece Crass powoduje ponadliniowy czas parsowania. Dane wejściowe kontrolowane przez atakującego, składające się z wielu znaków nie-ASCII, mogą powodować nadmierne zużycie CPU.
- 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.
- 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.
- 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)
### Impact Crass recursively parses CSS simple blocks and functions without a depth guard. An attacker-controlled value containing many deeply nested blocks can recurse until Ruby raises `SystemStackError: stack level too deep`, or can cause excessive memory usage. ### Patches This is fixed in Cr
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

