CVE-2026-54490
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wysłać pozornie małe wiadomości, które po dekompresji przekraczają limit, prowadząc do wyczerpania pamięci lub innych zasobów serwera/klienta WebSocket.
Rekomendacja
Zaktualizuj websocket-driver do wersji 0.7.5. Rozważ dodatkowe ograniczenia po stronie aplikacji.
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-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.
- 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, if this library is used with the permessage-deflate extension, a WebSocket server or client can be made to accept messages that are larger than the configured maximum message size because the limit is checked against the message frames' length headers, which give the size of the compressed data, not the size after decompression in lib/websocket/driver/hybi.js. This can lead to applications accepting larger messages than expected and exceeding their intended resource usage. This issue is fixed in version 0.7.5.

