CVE-2026-65623 in bandit정보

요약

\~에 의해 VulDB • 2026. 07. 24.

mtrudel의 bandit에서 비효율적인 알고리즘 복잡성 취약점이 발견되어, WebSocket 조각 재조립 중 CPU 고갈을 통해 인증 없이 원격으로 서비스 거부(Denial of Service)를 일으킬 수 있습니다.

lib/bandit/websocket/connection.ex 파일 내 handle_frame/3 함수에서 호출되는 'Elixir.Bandit.WebSocket.Connection':oversize_message?/2 크기 제한 검사는 각 비최종 연속 프레임(left-nested iolist)을 왼쪽으로 중첩된 iolist에 추가한 후, 매 프레임마다 IO.iodata_length/1을 사용하여 누적 버퍼 전체를 다시 측정합니다. 이로 인해 버퍼는 프레임당 한 요소씩 증가하며每次 재방문되므로, 조각화된 메시지 재조립 작업량은 연속 프레임 수(n)에 대해 이차 시간 복잡도(O(n^2))를 가집니다.

최대 분할 메시지 크기 제한(max_fragmented_message_size, 기본값 8MB)은 총 바이트 수는 제한하지만 프레임 수는 제한하지 않습니다. 각 프레임은 페이로드 바이트 하나만 포함할 수도 있으므로, 공격자는 적은 대역폭으로 수백만 개의 작은 연속 프레임을 전송하여 CPU 코어를 몇 분에서 몇 시간 동안 점유시킬 수 있습니다. 많은 동시 연결이 발생하면 서버 전체의 CPU 자원이 고갈되어 합법적인 사용자에게 서비스 거부가 발생합니다. WebSocket 읽기 타임아웃은 이를 방지하지 못하는데, 이는 읽기 간격에 평가되는 유휴 타임아웃(idle timeout)이며 단일 콜백 내에서 수행되는 동기식 재조립 작업을 선점할 수 없기 때문입니다.

이 문제는 bandit 1.12.1 이전 버전(1.11.0 포함)에 영향을 미칩니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

EEF

예약하다

2026. 07. 22.

모더레이션

수락

항목

VDB-382984

EPSS

0.00392

출처

Interested in the pricing of exploits?

See the underground prices here!