CVE-2026-69204
KrytyczneCVSS 9.2Streszczenie
W bibliotece Http4s (moduł Ember HTTP/1.1) w wersjach przed 0.23.35 i 1.0.0-M47 nie odrzucano komunikatów zawierających jednocześnie nagłówki Transfer-Encoding i Content-Length. Umożliwia to rozbieżność w interpretacji ramek treści między pośrednikiem a serwerem Ember, co pozwala na przemyt żądań HTTP (request smuggling).
Ocena ryzyka
Nieuwierzytelniony atakujący może przemycić drugie żądanie, ominąć mechanizmy kontroli dostępu pośrednika, zatruć pamięć podręczną lub dołączyć żądanie ofiary do prefiksu kontrolowanego przez atakującego. Problem dotyczy również klienta Ember w przypadku złośliwego serwera nadrzędnego.
Rekomendacja
Zaktualizuj Http4s do wersji 0.23.35 lub 1.0.0-M47 (lub nowszej). Sprawdź, czy pośrednicy (proxy, load balancery) prawidłowo odrzucają komunikaty z jednoczesnymi nagłówkami Transfer-Encoding i Content-Length.
Inne podatności w Http4s
Zobacz wszystkie- CVE-2026-88975Wysokie
Http4s to interfejs Scala dla usług HTTP. Przed wersjami 0.23.37 i 1.0.0-M48 pętla odczytu HTTP/2 w Ember analizuje 24-bitową zadeklarowaną długość ramki, ale czeka na buforowanie całego ładunku przed porównaniem go z SETTINGS_MAX_FRAME_SIZE. Nieuwierzytelniony peer może zadeklarować ładunek bliski 16 MiB na połączeniu, gdzie Ember reklamował 16 KiB, i albo ukończyć, albo powoli go przesyłać, powodując do 1024-krotną amplifikację pamięci na połączenie przed odrzuceniem ramki przez processFrame. Współdzielona pętla H2Connection.readLoop dotyczy serwerów i klientów z http2, podczas gdy konfiguracje z wyłączonym HTTP/2 są niezależne, a poprawka odrzuca zbyt duże ramki przed buforowaniem ich ładunków. Problem naprawiono w wersjach 0.23.37 i 1.0.0-M48.
- CVE-2026-54556Wysokie
Http4s przed wersjami 0.23.35 i 1.0.0-M47 ma podatność na atak DoS przez HTTP/2 w backendzie Ember. Hpack wrapper nie uwzględnia w limicie rozmiaru nagłówków indeksowanych nagłówków ani narzutu na nagłówek, co pozwala na ekspansję małego bloku do dużej reprezentacji w pamięci. Wielokrotne złośliwe połączenia mogą wyczerpać pamięć procesu.
Oryginalny opis (angielski, źródło NVD)
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember HTTP/1.1 does not reject messages containing both Transfer-Encoding and Content-Length, so an intermediary and Ember can select different body framing rules. When ember-server is behind a keep-alive intermediary that forwards both headers and frames by Content-Length, an unauthenticated attacker can smuggle a second request, bypass intermediary access controls, poison caches, or cause a victim request to be joined to an attacker-controlled prefix. The shared response parser can also desynchronize an ember-client connection when a malicious or compromised upstream sends both headers. This issue is fixed in versions 0.23.35 and 1.0.0-M47.

