CVE-2026-82672
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
Podatność niespójnej interpretacji żądań HTTP (HTTP Request/Response Smuggling) w elixir-mint pozwala złośliwemu serwerowi HTTP/1 na desynchronizację ścisłego pośrednika i klienta Mint na połączeniu z puli, umożliwiając zatrucie kolejki odpowiedzi dla kolejnych żądań współdzielących połączenie. Mint.HTTP1.Parse.chunk_size/1 zatrzymuje się na pierwszym nieheksadecymalnym bajcie linii rozmiaru chunka i zwraca resztę niezbadaną, a Mint.HTTP1.decode_body/5 odrzuca bajty do CRLF, przez co akceptowane są linie takie jak 5ZZZZZ i 5 9 jako rozmiar chunka 5, a 0ZZZZ jako kończący chunk. Problem dotyczy mint od 0.1.0 przed 1.10.1.
Ocena ryzyka
Złośliwy serwer HTTP/1 może zatruć kolejkę odpowiedzi, co prowadzi do zwrócenia błędnych odpowiedzi kolejnym żądaniom na współdzielonym połączeniu i potencjalnego wycieku danych lub obejścia kontroli bezpieczeństwa.
Rekomendacja
Zaktualizuj bibliotekę mint do wersji 1.10.1 lub nowszej, która prawidłowo waliduje składnię rozmiaru chunka zgodnie z RFC 9112.
Inne podatności w mint
Zobacz wszystkie- CVE-2026-59249Średnie
Podatność w bibliotece Mint (wersje od 0.1.0 do 1.9.2) umożliwia przemycanie odpowiedzi HTTP (HTTP response smuggling) poprzez akceptowanie znaku plus/minus w rozmiarze fragmentu kodowania Transfer-Encoding: chunked. Złośliwy serwer HTTP/1 może wykorzystać tę niezgodność interpretacji, aby zatruć kolejkę odpowiedzi na współdzielonym połączeniu keep-alive, co prowadzi do przekazania fałszywych odpowiedzi do kolejnych żądań.
- CVE-2026-82728Wysokie
Podatność na alokację zasobów bez limitów lub ograniczeń w elixir-mint mint pozwala zdalnemu serwerowi HTTP na wyczerpanie pamięci na hoście klienta i spowodowanie odmowy usługi. Dwa stany parsera odpowiedzi HTTP/1 gromadzą dane serwera bez żadnego limitu. W lib/mint/http1.ex, decode_status_line/4 przechowuje nieskonsumowane dane w conn.buffer, gdy linia statusu jest niekompletna, a decode_body/5 robi to samo dla niezakończonej linii rozszerzenia fragmentu. Oba czekają na CRLF, którego serwer nie musi wysyłać, a conn.buffer jest poprzedzany każdą kolejną wiadomością z gniazda. Budżet :max_header_list_size jest podłączony tylko do decode_headers/5 i decode_trailer_headers/4, więc żaden z tych stanów nie jest nim objęty. Złośliwy serwer lub serwer osiągnięty przez kontrolowane przez atakującego przekierowanie lub pobrany adres URL, strumieniuje bajty w nieskończoność, aż węzeł BEAM zostanie zabity przez mechanizm obsługi braku pamięci systemu operacyjnego. Wariant rozszerzenia fragmentu jest osiągany po prawidłowej linii statusu i kompletnym, prawidłowym nagłówku, więc pośrednik sprawdzający tylko nagłówki widzi zwykłą odpowiedź 200. Ten problem dotyczy mint: od 0.1.0 przed 1.10.0.
- CVE-2026-59246Średnie
Podatność w bibliotece Mint dla języka Elixir pozwala zdalnemu serwerowi HTTP/2 na wyczerpanie pamięci klienta poprzez wysyłanie nieskończonego ciągu ramek CONTINUATION z zerową długością. Mechanizm akumulacji nagłówków nie jest odpowiednio chroniony przed takim atakiem, co prowadzi do odmowy usługi (DoS).
- CVE-2026-58229Wysokie
Podatność w bibliotece Mint dla języka Elixir pozwala zdalnemu serwerowi HTTP na wyczerpanie pamięci klienta i spowodowanie odmowy usługi (DoS). Funkcje dekodujące nagłówki HTTP gromadzą je bez ograniczeń, a parser nie ma limitu liczby ani rozmiaru nagłówków, co umożliwia atakującemu wysyłanie nieskończonej liczby linii nagłówków bez kończącej pustej linii.
- CVE-2026-56810Wysokie
Podatność w bibliotece Mint (moduł Mint.HTTP1) pozwala zdalnemu serwerowi na wyczerpanie pamięci klienta poprzez wysłanie odpowiedzi z kodowaniem chunked transfer, w której deklaruje ogromny rozmiar fragmentu (np. 2 GiB) i przesyła dane bardzo wolno, nigdy nie kończąc fragmentu. Klient buforuje wszystkie odebrane bajty bez przekazywania ich do wywołującego, co prowadzi do niekontrolowanego wzrostu użycia pamięci i warunków out-of-memory.
- CVE-2026-49754Wysokie
Podatność w bibliotece Mint dla Elixira pozwala atakującemu serwerowi HTTP/2 wyczerpać pamięć klienta poprzez ciąg CONTINUATION ramek (tzw. CONTINUATION flood). Brak limitu rozmiaru akumulatora dla nagłówków, co prowadzi do wyczerpania pamięci i śmierci procesu BEAM.
- CVE-2026-49753Średnie
Biblioteka Mint w języku Elixir przed wersją 1.9.0 zawiera podatność na przemycanie odpowiedzi HTTP (HTTP response smuggling). Parser Content-Length akceptuje znaki + i -, co jest niezgodne z RFC 7230. Atakujący serwer HTTP/1 może spowodować desynchronizację ramek odpowiedzi na współdzielonych połączeniach.
- CVE-2026-48862Wysokie
Podatność w bibliotece Mint dla Elixira pozwala atakującemu serwerowi HTTP/2 wyczerpać pamięć klienta poprzez zalewanie ramkami PUSH_PROMISE. Serwer może tworzyć nieograniczoną liczbę wpisów w strumieniach, bez sprawdzania limitu max_concurrent_streams, co prowadzi do wyczerpania pamięci.
- CVE-2026-48861Niskie
Podatność na wstrzykiwanie CRLF w bibliotece elixir-mint (Mint) przed wersją 1.9.0 umożliwia ataki typu HTTP Request Splitting i HTTP Request Smuggling. Funkcja encode_request_line/2 w lib/mint/http1/request.ex łączy dostarczone przez użytkownika argumenty metody i celu bezpośrednio w linię żądania HTTP/1 bez walidacji znaków. Aplikacja przekazująca kontrolowane przez atakującego dane wejściowe jako metodę HTTP lub cel do Mint.HTTP.request/5 jest narażona na wstrzyknięcie CRLF w linii żądania. Mint 1.7.0 wprowadził validate_request_target/2, który odrzuca CRLF i inne znaki kontrolne w celu domyślnie, ale pole metody pozostaje niewalidowane.
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 a strict intermediary and the Mint client on a pooled connection, enabling response-queue poisoning against subsequent requests that share the connection. Mint.HTTP1.Parse.chunk_size/1 in lib/mint/http1/parse.ex stops at the first non-hexadecimal byte of a chunked response's chunk-size line and returns the remainder unexamined. Mint.HTTP1.decode_body/5 in lib/mint/http1.ex then discards every byte up to the CRLF with Parse.ignore_until_crlf/1, so the accepted grammar is a run of hex digits followed by arbitrary bytes, where RFC 9112 permits only a ;-introduced chunk extension. Lines such as 5ZZZZZ and 5 9 are accepted as chunk size 5, and 0ZZZZ is accepted as the terminating chunk that ends the message body. An RFC-strict intermediary rejects such a line while Mint accepts it, so the two disagree on chunk boundaries and on where the response ends. This issue affects mint: from 0.1.0 before 1.10.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

