CVE-2026-54466
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
Biblioteka websocket-driver przed wersją 0.7.5 nieprawidłowo obsługuje długość ramki w protokole WebSocket. Wysyłając nieskończony ciąg bajtów z ustawionym najwyższym bitem, atakujący może spowodować, że serwer będzie analizował te bajty jako stale rosnącą liczbę całkowitą, co prowadzi do utraty precyzji i błędnego parsowania ładunku.
Ocena ryzyka
Atakujący może zdalnie manipulować danymi przesyłanymi przez WebSocket, co może prowadzić do nieprawidłowego działania aplikacji lub potencjalnego przejęcia sesji.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę websocket-driver do wersji 0.7.5 lub nowszej.
Inne podatności w websocket-driver
Zobacz wszystkie- CVE-2026-61666Wysokie
websocket-driver przed wersją 0.8.2 ma podatność w WebSocket::Driver.server(), która przekazuje złośliwy nagłówek Host do URI.parse w lib/websocket/http/request.rb bez łapania wyjątku URI::InvalidURIError, co pozwala zdalnemu klientowi na crash serwera WebSocket opartego na TCP, gdy aplikacja nie łapie błędu z parse(). Problem naprawiono w wersji 0.8.2.
- CVE-2026-54490Średnie
Biblioteka websocket-driver przed wersją 0.7.5, używana z rozszerzeniem permessage-deflate, sprawdza limit rozmiaru wiadomości na podstawie skompresowanych danych, a nie po dekompresji. Pozwala to na przyjęcie wiadomości większych niż skonfigurowany maksymalny rozmiar.
- CVE-2026-54465Wysokie
websocket-driver przed wersją 0.8.1 jest podatny na atak polegający na wysłaniu żądania HTTP z nieskończoną listą nagłówków, co powoduje nieograniczone zużycie pamięci przez proces odbierający.
- CVE-2026-54464Średnie
Biblioteka WebSocket używana z rozszerzeniem permessage-deflate może akceptować wiadomości większe niż skonfigurowany maksymalny rozmiar. Limit jest sprawdzany względem nagłówków długości ramek, które podają rozmiar skompresowanych danych, a nie rozmiar po dekompresji.
- CVE-2026-54463Wysokie
W bibliotece websocket-driver przed wersją 0.8.1, nagłówek długości w protokole WebSocket pozwala na zakodowanie dowolnie dużej liczby całkowitej jako bajtów z ustawionym najwyższym bitem. Serwer lub klient może wysłać nieograniczoną sekwencję bajtów 0x80 lub wyższych, które są parsowane do stale rosnącej liczby całkowitej Ruby.
Oryginalny opis (angielski, źródło NVD)
websocket-driver is a WebSocket protocol handler with pluggable I/O. Prior to 0.7.5, the frame format in draft versions of the WebSocket protocol includes a length header that allows an arbitrarily large integer to be encoded as a sequence of bytes with the high bit set. By sending an indefinite sequence of bytes with values 0x80 or above, a client can make the server parse these bytes into an ever-growing integer in lib/websocket/driver/draft75.js; because JavaScript numbers are 64-bit floating point values, this number will eventually lose precision and lead to the subsequent payload being parsed incorrectly. This issue is fixed in version 0.7.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

