CVE-2026-94194
ŚrednieCVSS 6.3Streszczenie
Podatność typu HTTP Request/Response Smuggling w bibliotece elixir-mint pozwala złośliwemu serwerowi HTTP/1 zdesynchronizować pośrednika i klienta Mint na połączeniu z puli, zatruwając odpowiedzi na kolejne żądania. Problem wynika z nieprawidłowego wyboru ramkowania chunked, gdy chunked nie jest ostatnim kodowaniem w nagłówku Transfer-Encoding, oraz z utrzymywania połączenia po odpowiedzi HTTP/1.0 z Transfer-Encoding i Connection: keep-alive.
Ocena ryzyka
Atakujący może zatruć odpowiedzi dla kolejnych żądań współdzielących to samo połączenie, co może prowadzić do ujawnienia danych lub wykonania niepożądanych operacji. Podatność dotyczy wersji mint od 0.1.0 do 1.11.0.
Rekomendacja
Zaktualizuj bibliotekę elixir-mint do wersji 1.11.0 lub nowszej. Przeanalizuj, czy aplikacja korzysta z połączeń z puli i czy może być narażona na zatruwanie odpowiedzi.
Inne podatności w elixir-mint
Zobacz wszystkie- CVE-2026-92103Średnie
Podatność typu Allocation of Resources Without Limits or Throttling w bibliotece elixir-mint pozwala złośliwemu serwerowi HTTP/2 zmusić klienta do buforowania do około 16 MiB na połączenie w ramkach, które powinny zostać odrzucone. Mint porównuje ramkę z max_frame_size dopiero po odebraniu całego zadeklarowanego ładunku, a serwer może zadeklarować długość do 16 777 215 bajtów i wstrzymać ostatni bajt.
- CVE-2026-82729Średnie
Podatność nieefektywnej złożoności algorytmicznej w elixir-mint pozwala zdalnemu serwerowi HTTP na wyczerpanie CPU na hoście klienta i spowodowanie odmowy usługi. Funkcja parse_hex_prefix/2 w lib/mint/http1/parse.ex składa każdą cyfrę szesnastkową pola chunk-size odpowiedzi chunked do akumulatora o dowolnej precyzji bez ograniczenia liczby cyfr, co prowadzi do złożoności O(N^2). Ponieważ akumulator rośnie bez ograniczeń, mnożenie nie jest stałoczasowe, a jeden przebieg po N cyfrach kosztuje O(N^2). handle_data/2 prependuje conn.buffer i ponownie parsuje od początku przy każdej wiadomości socketu, więc serwer, który wysyła cyfry w małych pakietach, powoduje wielokrotne ponoszenie tego kosztu. Około 512 000 cyfr szesnastkowych kosztuje ponad dziesięć sekund CPU w jednym przebiegu. Problem dotyczy mint od 1.9.3 przed 1.10.0.
Oryginalny opis (angielski, źródło NVD)
Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in elixir-mint mint allows a malicious HTTP/1 server to desynchronize an intermediary and the Mint client on a pooled connection, poisoning the responses to subsequent requests that share the connection. message_body/1 in lib/mint/http1.ex selects chunked framing when chunked is the first coding listed in a response's Transfer-Encoding fields. RFC 9112 section 6.3 applies chunked framing only when chunked is the final coding, and otherwise reads the body until the server closes the connection. For a response such as Transfer-Encoding: chunked, gzip, an intermediary that follows the RFC treats every byte up to the close as the body, while Mint ends the body at the zero-length chunk and parses the remaining bytes as the response to the next request on the connection. Mint also keeps the connection open after an HTTP/1.0 response, final or 1xx, that carries Transfer-Encoding and Connection: keep-alive. RFC 9112 section 6.1 requires treating the framing of such a message as faulty and closing the connection after it, so bytes after its chunked body are parsed as the response to the next request in the same way. This issue affects mint: from 0.1.0 before 1.11.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

