CVE-2026-61847
ŚrednieStreszczenie
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ę.
Ocena ryzyka
Atakujący może dostarczyć spreparowany arkusz CSS z dużą liczbą sąsiadujących komentarzy, powodując nadmierną rekurencję i potencjalne wyczerpanie zasobów (denial of service).
Rekomendacja
Zaktualizuj bibliotekę Crass do wersji zawierającej poprawkę. Rozważ ograniczenie liczby komentarzy 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-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.
- CVE-2026-61846Średnie
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.
- 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 When the `:preserve_comments` option is not enabled (which is the default behavior), Crass discards CSS comments by recursively consuming the next token. An attacker who provides a stylesheet containing a very large number of adjacent comments can cause excessive recursion and trigger a
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

