CVE-2026-39804
WysokieStreszczenie
Podatność CVE-2026-39804 w mtrudel bandit pozwala na zdalne wywołanie odmowy usługi poprzez wyczerpanie pamięci, gdy włączona jest kompresja permessage-deflate w WebSocket. Nieautoryzowany atakujący może wysłać specjalnie skonstruowany pakiet, co prowadzi do zabicia procesu z powodu braku pamięci.
Ocena ryzyka
Organizacja narażona jest na ataki, które mogą prowadzić do całkowitego unieruchomienia usług związanych z aplikacją, co może skutkować poważnymi stratami finansowymi i reputacyjnymi.
Rekomendacja
Zaleca się wyłączenie kompresji permessage-deflate w WebSocket lub wprowadzenie limitów na rozmiar dekompresji, aby zminimalizować ryzyko wyczerpania pamięci.
Inne podatności w mtrudel bandit
Zobacz wszystkie- CVE-2026-39806Wysokie
Podatność CVE-2026-39806 w mtrudel bandit umożliwia zdalny atak typu denial of service poprzez wyczerpanie procesów roboczych. Problem występuje w funkcji do_read_chunked_data!/5, która nie kończy się poprawnie w przypadku obecności pól trailer w żądaniach chunked.
- CVE-2026-39803Wysokie
W podatności CVE-2026-39803 w mtrudel bandit występuje problem z alokacją zasobów bez ograniczeń, co pozwala na zdalny atak typu denial of service poprzez wyczerpanie pamięci. Funkcja do_read_chunked_data!/5 nie ogranicza rozmiaru buforowanych danych, co prowadzi do przepełnienia pamięci.
Oryginalny opis (angielski, źródło NVD)
Allocation of Resources Without Limits or Throttling vulnerability in mtrudel bandit allows unauthenticated remote denial of service via memory exhaustion when WebSocket permessage-deflate compression is enabled. 'Elixir.Bandit.WebSocket.PerMessageDeflate':inflate/2 in lib/bandit/websocket/permessage_deflate.ex calls :zlib.inflate/2 with no output-size cap, then materializes the entire decompressed payload as a single binary via IO.iodata_to_binary/1. The websocket_options.max_frame_size option only bounds the on-the-wire (compressed) frame size, not the decompressed output. A high-ratio compressed frame (e.g. uniform data at ~1024:1 ratio) can stay well under any wire-size limit while forcing GiB-scale heap allocations in the connection process before any application code runs. An unauthenticated attacker who can open a WebSocket connection can send a single such frame to exhaust the BEAM node's memory and trigger an OOM kill. This vulnerability requires both Bandit's server-level

