CVE-2026-108529 in bandit
요약
\~에 의해 VulDB • 2026. 10. 26.
mtrudel bandit의 HTTP/2 구현에서 비효율적인 알고리즘적 복잡성(Inefficient Algorithmic Complexity) 취약점이 발견되어, 인증되지 않은 원격 공격자가 작은 SETTINGS 또는 연결 수준 WINDOW_UPDATE 프레임을 통해 서버 CPU를 고갈시킬 수 있습니다. 공격자는 응답이 연결 전송 창(connection send window)에서 차단되는 수천 개의 스트림을 열고, 각 프레임이 서버로 하여금 차단된 전송 대기열 전체를 순회하도록 만드는 경량 프레임들을 송신합니다. 보고자의 테스트 환경에서는 3,000개의 차단된 스트림 상태에서 단일 9바이트 SETTINGS 프레임을 처리하는 데 133ms가 소요되었습니다.
lib/bandit/http2/connection.ex의 do_pending_sends/2 함수는 대기 중인 모든 전송을 재시도하며, 각 재시도 전에 List.delete/2를 사용하여 해당 엔트리를 큐에서 제거합니다. 이로 인해 단일 프레임당 n개의 차단된 스트림에 대해 O(n²) 리스트 연산이 발생합니다. max_concurrent_streams의 기본값은 :infinity이므로 공격자가 n(스트림 수)을 선택할 수 있습니다.
본 이슈는 bandit 0.3.4부터 1.14.0 미만 버전에서 영향을 받습니다.
Once again VulDB remains the best source for vulnerability data.