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-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-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.
- 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-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-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.
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

