CVE-2026-82729
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 40 - wyżej niż 40% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS na klienta przez zdalny serwer, co może prowadzić do znacznego spowolnienia lub zawieszenia aplikacji klienckiej. Atak może być łatwo wykorzystany przez złośliwy serwer.
Rekomendacja
Zaleca się aktualizację biblioteki mint do wersji 1.10.0 lub nowszej, która zawiera poprawkę ograniczającą liczbę cyfr. Należy również rozważyć ograniczenia po stronie klienta dla długości pól nagłówków.
Inne podatności w elixir-mint
Zobacz wszystkie- CVE-2026-94194Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Inefficient Algorithmic Complexity vulnerability in elixir-mint mint allows a remote HTTP server to exhaust CPU on the client host and cause a denial of service. parse_hex_prefix/2 in lib/mint/http1/parse.ex folds each hex digit of a chunked response's chunk-size field into an arbitrary-precision accumulator with acc * 16 + digit and imposes no limit on the digit count. Because the accumulator grows without bound, the multiplication is not constant time and one pass over N digits costs O(N squared). handle_data/2 prepends conn.buffer and re-parses from the start on every socket message, so a server that dribbles the digits out in small packets makes the client pay that cost repeatedly. A run of roughly 512,000 hex digits costs over ten seconds of CPU in a single pass, measured on stock defaults. The parser reaches this state after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response. This issue affects mint: from 1.9.3 before 1.10.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

