Podatności bandit
24 znanych podatności CVE w bandit, przetłumaczonych i ocenionych.
- CVE-2026-116078Wysokie
W bibliotece bandit (Elixir) w wersjach od 0.3.1 przed 1.14.1 czytnik ciała żądania HTTP/2 nie ogranicza zasobów, co pozwala nieuwierzytelnionemu zdalnemu atakującemu wyczerpać pamięć serwera poprzez ciało żądania wysłane jako wiele ramek DATA o rozmiarze 1 bajta. Podatne są trasy, których Plug odczytuje ciało żądania, w tym trasy za Plug.Parsers.
- CVE-2026-115269Wysokie
W bibliotece bandit (mtrudel) występuje podatność na wyczerpanie zasobów bez ograniczeń w czytniku ciała żądania HTTP/2 — nieuwierzytelniony zdalny atakujący może utrzymywać procesy strumieni otwarte bezterminowo przez ramki WINDOW_UPDATE lub puste SETTINGS wysyłane podczas gdy Plug czyta ciało żądania. Dotyczy wersji od 1.4.0 przed 1.14.0.
- CVE-2026-114216Średnie
Podatność na niespójną interpretację żądań HTTP ('HTTP Request/Response Smuggling') w czytniku treści chunked HTTP/1.1 w mtrudel bandit pozwala nieuwierzytelnionemu zdalnemu atakującemu na przemycenie drugiego żądania obok front-endowego proxy poprzez rozszerzenie chunka zawierające samo LF. Czytnik chunked w lib/bandit/http1/socket.ex traktuje linię rozmiaru chunka jako wszystko do pierwszego CRLF i odrzuca wszystko po ; bez sprawdzania zgodności z gramatyką chunk-ext RFC 9112, więc samo LF, samo CR i inne bajty kontrolne przechodzą. Proxy, które kończy linię rozmiaru na samym LF, odczytuje 2;\nxx\r\n40\r\n... jako jedno żądanie, którego drugi chunk zawiera GET /admin, podczas gdy Bandit kończy treść wcześniej i wysyła GET /admin jako osobne żądanie potokowe. Wdrożenia bez takiego proxy przed Bandit nie są dotknięte.
- CVE-2026-114213Wysokie
Podatność w bibliotece Bandit (Elixir) polega na braku limitu liczby fragmentów wiadomości WebSocket podczas ich łączenia. Atakujący może wysłać wiadomość złożoną z wielu 1-bajtowych ramek kontynuacji, co powoduje zużycie pamięci serwera znacznie przekraczające skonfigurowany limit (nawet 150-krotnie).
- CVE-2026-113436Wysokie
Podatność w parserze liczb całkowitych nagłówków HTTP w bibliotece Bandit (Elixir) pozwala nieuwierzytelnionemu atakującemu na zużycie CPU serwera poprzez przesłanie wartości Content-Length, Host lub portu :authority składającej się z tysięcy cyfr. Parsowanie odbywa się bez limitu długości, co prowadzi do kwadratowego wzrostu czasu przetwarzania.
- CVE-2026-111103Wysokie
Podatność w obsłudze HTTP/2 w bibliotece Bandit (Elixir) polega na nieprawidłowym czyszczeniu stanu po wyjątku StreamError. Atakujący może obejść limity zasobów na połączenie, wysyłając wiele ramek w jednym zapisie TCP, z których jedna powoduje błąd strumienia, co prowadzi do uruchomienia większej liczby równoległych strumieni niż dozwolona.
- CVE-2026-111101Wysokie
Podatność w czytniku ciała żądania chunked w HTTP/1.1 w bibliotece Bandit (Elixir) pozwala nieuwierzytelnionemu atakującemu na wyczerpanie pamięci i CPU serwera poprzez żądanie złożone z wielu 1-bajtowych fragmentów. Brak limitu liczby fragmentów powoduje, że małe fragmenty zużywają znacznie więcej pamięci niż ich ładunek.
- CVE-2026-110499Wysokie
Podatność w implementacji HTTP/2 w bibliotece Bandit (Elixir) pozwala nieuwierzytelnionemu atakującemu na nieograniczony wzrost zużycia pamięci i CPU poprzez dużą wartość SETTINGS_HEADER_TABLE_SIZE. Bandit zmienia rozmiar tabeli kodera HPACK do rozmiaru ogłoszonego przez klienta (do 2^32-1 bajtów) i indeksuje nagłówki odpowiedzi, co prowadzi do liniowego skanowania przy każdym wyszukaniu i kwadratowego wzrostu kosztu CPU.
- CVE-2026-110314Średnie
Podatność na egzekwowanie zabezpieczeń po stronie klienta zamiast serwera w obsłudze połączeń WebSocket w mtrudel bandit pozwala zdalnemu klientowi na dalsze uruchamianie kodu obsługi WebSock po zatrzymaniu połączenia przez serwer, poprzez ramki danych wysyłane po zignorowaniu ramki Close serwera. Gdy callback WebSock zwraca {:stop, ...}, Bandit.WebSocket.Connection wywołuje terminate/2, wysyła Close i zamyka stronę zapisu, ale utrzymuje proces połączenia w stanie :closing. handle_frame/3 i handle_info/3 nigdy nie sprawdzają tego stanu, więc późniejsze ramki nadal docierają do handle_in/2, a późniejsze wiadomości do handle_info/2, ze stanem z krotki stop, dopóki klient nie wyśle Close, TCP nie zostanie zerwane lub nie upłynie limit czasu bezczynności. Klient odrzucony w init/1 po nieudanym sprawdzeniu tokena mógłby nadal wykonać akcję tylko dla administratora.
- CVE-2026-109584Wysokie
Podatność w implementacji HTTP/2 w bibliotece Bandit (Elixir) polega na nieprawidłowym przetwarzaniu silnie skompresowanych danych (amplifikacja danych). Atakujący może wysłać mały blok HEADERS skompresowany HPACK, który przechowuje dużą wartość cookie w tabeli dynamicznej, a następnie wielokrotnie odwołuje się do niej za pomocą 1-bajtowych pól indeksowanych, co prowadzi do wyczerpania pamięci serwera.
- CVE-2026-108529Wysokie
Podatność w implementacji HTTP/2 w bibliotece Bandit (Elixir) polega na nieefektywnej złożoności algorytmicznej. Atakujący może otworzyć tysiące strumieni, których odpowiedzi są zablokowane, a następnie wysyłać tanie ramki SETTINGS lub WINDOW_UPDATE, powodując kwadratowy wzrost kosztu CPU przy przetwarzaniu kolejki zablokowanych wysyłek.
- CVE-2026-108525Wysokie
Podatność w implementacji HTTP/2 w bibliotece Bandit (Elixir) pozwala nieuwierzytelnionemu atakującemu na wyczerpanie pamięci serwera poprzez wysyłanie ramek DATA przekraczających ogłoszone okno odbioru. Atakujący blokuje proces strumienia, nie wysyłając WINDOW_UPDATE, a następnie zalewa strumień małymi ramkami DATA, które są kolejkowane w skrzynce odbiorczej procesu, aż do wyczerpania pamięci węzła BEAM.
- CVE-2026-105660Średnie
Biblioteka bandit (wersje 0.6.0 do 1.13.0) nieprawidłowo waliduje poprawność składniową danych wejściowych. Nieuwierzytelniony zdalny atakujący może ustawić conn.host i conn.port na wartości spoza gramatyki hosta RFC 3986 poprzez authority w żądaniu HTTP/1 absolute-form lub authority-form, co może prowadzić do wstrzyknięcia złośliwych wartości do adresów URL generowanych przez aplikację.
- CVE-2026-105659Wysokie
W bibliotece bandit (mtrudel) nieuwierzytelniony zdalny atakujący może zawieszać procesy strumieni HTTP/2, wysyłając kropla po kropli małe ramki WINDOW_UPDATE. Każde częściowe postępowanie odnawia terminy, dzięki czemu zablokowany proces strumienia, jego stan Plug i zasoby pozostają aktywne tak długo, jak atakujący kontynuuje wysyłanie, co pozwala wyczerpać procesy i pamięć serwera. Problem dotyczy wersji od 1.4.0 przed 1.13.0.
- CVE-2026-75484Średnie
Podatność typu CRLF Injection w bibliotece Bandit umożliwia nieuwierzytelnionemu zdalnemu atakującemu przemycenie znaków CR, LF lub NUL do nagłówków żądań widocznych dla aplikacji przez HTTP/2. Walidacja nagłówków nie sprawdza wartości pól, co pozwala na ich niezmienione przekazanie. Dodatkowo, duplikat pseudo-nagłówka :authority jest akceptowany, co może prowadzić do konfliktów.
- CVE-2026-74836Wysokie
Podatność w bibliotece Bandit (Elixir) pozwala nieuwierzytelnionemu atakującemu na zablokowanie nieograniczonej liczby procesów strumieni HTTP/2 poprzez sterowanie przepływem na poziomie połączenia. Gdy odpowiedź przekracza okno wysyłki połączenia (domyślnie 65 535 bajtów), proces strumienia blokuje się na stałe, a kolejka nie jest czyszczona, co prowadzi do wyczerpania zasobów.
- CVE-2026-65623Wysokie
Podatność na nieefektywną złożoność algorytmiczną w bibliotece bandit (Elixir), umożliwiająca nieuwierzytelnionemu atakującemu zdalną odmowę usługi poprzez wyczerpanie CPU podczas składania fragmentów WebSocket.
- CVE-2026-39806Wysokie
W bibliotece mtrudel bandit występuje luka typu nieskończona pętla w obsłudze danych chunked HTTP/1, gdy obecne są pola trailer. Funkcja do_read_chunked_data!/5 nie obsługuje poprawnie pól trailer dozwolonych przez RFC 9112, co powoduje zablokowanie procesu workera na czas trwania połączenia TCP. Kilka równoczesnych połączeń może wyczerpać pulę workerów i unieruchomić serwer. Problem dotyczy wersji od 1.6.1 przed 1.11.1.
- CVE-2026-39803Wysokie
W bibliotece mtrudel bandit występuje luka polegająca na przydzielaniu zasobów bez ograniczeń w obsłudze ciał żądań chunked HTTP/1. Funkcja read_data/2 ignoruje opcję :length, buforując całe ciało żądania bez limitu, co pozwala nieuwierzytelnionemu atakującemu na wyczerpanie pamięci przez pojedyncze żądanie POST z dowolnie dużym ciałem. Problem dotyczy wersji od 1.4.0 przed 1.11.1.
- CVE-2026-42788Średnie
W bibliotece mtrudel bandit (wersje od 0.3.6 przed 1.11.0) występuje podatność polegająca na alokacji zasobów bez ograniczeń. Funkcja deserialize/2 sprawdza limit SETTINGS_MAX_FRAME_SIZE dopiero po wczytaniu całego ciała ramki HTTP/2, co pozwala nieuwierzytelnionemu atakującemu na wyczerpanie pamięci za pomocą zbyt dużych ramek.
- CVE-2026-42786Wysokie
Podatność w mtrudel bandit pozwala na zdalne wywołanie odmowy usługi poprzez wyczerpanie pamięci, umożliwiając nieautoryzowanym użytkownikom przesyłanie nieograniczonej liczby ramek kontynuacji. Problem występuje w metodzie handle_frame/3, która nie ma ograniczenia rozmiaru dla akumulowanych danych.
- CVE-2026-39807Średnie
W bibliotece mtrudel bandit (wersje od 1.0.0 przed 1.11.0) występuje podatność polegająca na poleganiu na niezaufanych danych wejściowych w decyzji bezpieczeństwa. Funkcja determine_scheme/2 zwraca schemat URI podany przez klienta bez weryfikacji flagi secure?, co pozwala na podszywanie się pod stan transportu na połączeniach HTTP bez TLS.
- CVE-2026-39805Średnie
Podatność w bibliotece Bandit (Elixir) umożliwia przemycanie żądań HTTP przez duplikowanie nagłówków Content-Length. Serwer akceptuje pierwszy nagłówek, a resztę danych traktuje jako kolejne żądanie na tym samym połączeniu.
- CVE-2026-39804Wysokie
Biblioteka bandit (mtrudel) w wersjach od 0.5.9 do 1.11.0 ma podatność polegającą na braku ograniczeń zasobów podczas dekompresji permessage-deflate w WebSocket. Funkcja inflate/2 wywołuje :zlib.inflate/2 bez limitu rozmiaru wyjściowego, co pozwala nieuwierzytelnionemu atakującemu na wysłanie jednej silnie skompresowanej ramki i wyczerpanie pamięci węzła BEAM.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

