CVE-2026-54463
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Połączenie WebSocket może zużywać nieograniczoną ilość pamięci, prowadząc do wyczerpania pamięci procesu hosta i potencjalnej awarii usługi.
Rekomendacja
Należy zaktualizować bibliotekę websocket-driver do wersji 0.8.1, która naprawia ten problem poprzez ograniczenie rozmiaru parsowanych liczb całkowitych.
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-54466Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
websocket-driver is a WebSocket protocol handler with pluggable I/O. Prior to 0.8.1, draft versions of the WebSocket protocol in websocket-driver include a length header that allows an arbitrarily large integer to be encoded as bytes with the high bit set, and a server or client can send an indefinite sequence of 0x80 or higher bytes that the peer parses into an ever-growing Ruby integer. This can make a WebSocket connection consume an unbounded amount of memory and lead to the host process running out of memory. This issue is fixed in version 0.8.1.

