Katalog CVE

CVE-2026-73493

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.35%

Percentyl 28 - wyżej niż 28% wszystkich znanych CVE

Streszczenie

Http4s (http4s-blaze-server) to minimalny, idiomatyczny interfejs Scala dla usług HTTP. Przed wersjami 0.23.18 i 1.0.0-M42, http4s-blaze-server agreguje fragmenty przychodzącej wiadomości WebSocket bez limitu całkowitego rozmiaru lub liczby fragmentów. Klient, który ukończy uzgadnianie WebSocket, może wysłać niezakończoną pofragmentowaną wiadomość i spowodować nieograniczony wzrost sterty w JVM serwera, co prowadzi do odmowy usługi przez OutOfMemoryError. Dotyczy to każdej aplikacji http4s obsługującej trasy WebSocket przez BlazeServerBuilder, nie jest wymagana żadna niestandardowa konfiguracja, a maxWebSocketBufferSize nie ogranicza agregatu, ponieważ ogranicza tylko pojedyncze ramki. Pojedyncze połączenie wysyłające ramki kontynuacji, które nigdy nie ustawiają FIN, zmusza serwer do buforowania każdego fragmentu aż do wyczerpania sterty, kończąc JVM z OutOfMemoryError na wątku selektora blaze. Małe fragmenty zwiększają koszt przez narzut na obiekt, więc niewielka ilość bajtów w sieci jest wystarczająca. Problem naprawiono w wersjach 0.23.18 i 1.0.0-M42.

Ocena ryzyka

Ryzyko polega na możliwości wyczerpania pamięci serwera przez nieautoryzowanego klienta, co prowadzi do niedostępności usługi (DoS) i potencjalnego zatrzymania JVM.

Rekomendacja

Zaleca się aktualizację http4s-blaze-server do wersji 0.23.18 lub 1.0.0-M42 (lub nowszej) w celu usunięcia podatności.

Oryginalny opis (angielski, źródło NVD)

Http4s (http4s-blaze-server) is a minimal, idiomatic Scala interface for HTTP services. Prior to 0.23.18 and 1.0.0-M42, http4s-blaze-server aggregates fragments of an incoming WebSocket message with no limit on total size or fragment count. A client that completes a WebSocket handshake can send an unterminated fragmented message and drive unbounded heap growth in the server JVM, resulting in denial of service through OutOfMemoryError. Any http4s application serving WebSocket routes over BlazeServerBuilder is affected, no non-default configuration is required, and maxWebSocketBufferSize does not bound the aggregate because it bounds only individual frames. A single connection sending continuation frames that never set FIN forces the server to buffer every fragment until the heap is exhausted, terminating the JVM with OutOfMemoryError on the blaze selector thread. Small fragments amplify the cost through per-frame object overhead, so a modest volume of wire bytes is sufficient. This issue is fixed in versions 0.23.18 and 1.0.0-M42.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS