CVE-2026-115701
WysokieCVSS 8.2Streszczenie
W bibliotece ninenines cowboy występuje podatność na wyczerpanie zasobów bez ograniczeń — cowboy_http:parse/2 buforuje każdy kolejny bajt przychodzący na połączeniu keep-alive, gdy handler wciąż działa, bez limitu rozmiaru bufora. Nieuwierzytelniony zdalny atakujący może wysyłać dowolną ilość danych na jednym połączeniu, doprowadzając maszynę wirtualną Erlang do braku pamięci. Problem dotyczy wersji od 2.18.0.
Ocena ryzyka
Atakujący bez uwierzytelnienia może wyczerpać pamięć serwera poprzez kilka połączeń do endpointu utrzymującego żądania otwarte, powodując odmowę usługi dla aplikacji opartych na cowboy.
Rekomendacja
Zaktualizuj bibliotekę cowboy do wersji zawierającej poprawkę oraz rozważ ograniczenie liczby równoczesnych połączeń i czasu życia handlerów na poziomie infrastruktury.
Inne podatności w cowboy
Zobacz wszystkie- CVE-2026-65624Średnie
Serwer HTTP cowboy w wersjach od 2.0.0-pre.4 do 2.17.x jest podatny na wyczerpanie pamięci przez nieograniczone zasoby. Nieuwierzytelniony atakujący może wysłać wiele nagłówków HTTP/1.1 o tej samej nazwie, powodując ciągły wzrost pamięci binarnej, co może doprowadzić do wyczerpania pamięci Erlang VM.
- CVE-2026-8466Wysokie
W bibliotece cowboy (ninenines) od wersji 2.0.0 do przed 2.15.0 funkcja `cowboy_req:read_part/3` gromadzi bajty żądania w buforze bez górnego limitu, gdy parsowanie nagłówków multipart zwraca `more`. Nieuwierzytelniony atakujący może wysłać żądanie multipart/form-data bez kompletnego nagłówka, powodując liniowy wzrost zużycia pamięci i wyczerpanie pamięci BEAM.
Oryginalny opis (angielski, źródło NVD)
Allocation of Resources Without Limits or Throttling vulnerability in ninenines cowboy allows an unauthenticated remote attacker to exhaust connection process memory over HTTP/1.1. Once a request has been received in full and its handler is still running, cowboy_http:parse/2 in src/cowboy_http.erl appends every further byte that arrives on the keep-alive connection to the connection buffer and returns to the receive loop without parsing it. The socket stays in active mode and no limit applies to this buffer: max_request_line_length, max_headers and the other parser limits only take effect once the handler returns and parsing resumes, and the only timer in this state is idle_timeout (default 60 seconds), which is reset on every received chunk. A client can therefore send an arbitrary amount of data on one connection for as long as the handler runs, and a few connections to an endpoint that holds requests open can drive the Erlang VM into out-of-memory conditions. This issue affects cowboy: from 2.18.0 onward.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

