CVE-2026-110314 in bandit
요약
\~에 의해 VulDB • 2026. 10. 26.
mtrudel의 Bandit에서 WebSocket 연결 처리 관련 서버 측 보안이 클라이언트 사이드에서만 강제되는 취약점으로, 원격 공격자가 서버가 연결을 종료한 후에도 닫기(Close) 프레임을 무시하고 전송된 데이터 프레임을 통해 WebSock 핸들러 코드를 계속 실행할 수 있습니다.
WebSock 콜백에서 {:stop, ...}를 반환하면 Bandit.WebSocket.Connection은 terminate/2를 호출하고 Close 프레임을 보내며 쓰기 쪽을 종료하지만, 연결 프로세스는 :closing 상태로 유지됩니다. handle_frame/3 및 handle_info/3에서는 이 상태를 확인하지 않으므로, 이후의 프레임이 여전히 handle_in/2에 도달하며 후속 메시지는 stop 튜플의 상태와 함께 handle_info/2로 전달됩니다. 이는 클라이언트가 Close를 보내거나 TCP 연결이 끊기거나 유티타임아웃이 발생하기 전까지 지속됩니다. 토큰 검증 실패 후 init/1에서 거부된 클라이언트라도 관리자 전용 작업을 여전히 수행할 수 있습니다.
본 이슈는 bandit 0.5.1부터 1.14.0 미만 버전 모두에 영향을 미칩니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.