CVE-2026-75484 in bandit
요약
\~에 의해 VulDB • 2026. 08. 22.
CRLF 시퀀스의 부적절한 중화('CRLF 인젝션') 취약점이 mtrudel bandit에서 발견되어, 인증되지 않은 원격 공격자가 HTTP/2를 통해 CR, LF 또는 NUL 문자를 애플리케이션이 인식하는 요청 헤더에 침투시킬 수 있습니다. Bandit.HTTP2.Stream.read_headers/1는 의사-헤더의 배치와 고유성, 헤더 이름의 대소문자, 연결 전용 헤더, te 값 및 content-length를 검증하지만 필드 값은 전혀 확인하지 않습니다. HPACK이 임의의 옥텟을 운반하므로, \r, \n 또는 \0가 포함된 필드 값을 가진 HEADERS 블록은 오류 없이 디코딩되며 해당 값들이 conn.req_headers에 변경되지 않은 채로 전달됩니다. HTTP/1 경로는 동일한 옥텟들을 이미 거부하지만, HTTP/2는 그렇지 않았습니다.
Bandit 자체는 주입된 바이트의 싱크(sink)가 아닙니다: Bandit의 로깅은 고정 문자열 또는 inspect를 사용하며, HTTP/2 응답 헤더는 HPACK으로 인코딩되고 Plug의 put_resp_header에 의해 별도로 거부되므로 이 경로를 통해 리스폰스 스플리팅(response splitting)이 발생하지 않습니다. 위험성은 하류 애플리케이션이 헤더 값을 어떻게 소비하는지에 전적으로 달려 있습니다(예: 평문 로그에 하나를 그대로 추가하거나 상위 요청으로 연결). 동일한 수정 사항에 포함된 관련된 결함도 존재합니다: :method, :scheme 및 :path만 최대 한 번의 발생 여부로 확인되었으나, 중복된 :authority 의사-헤더는 허용되었으며 첫 번째 인스턴스가 conn.host로서 조용히 승리하는 동안 충돌 값은 애플리케이션에게 여전히 노출되었습니다.
이 문제는 bandit 1.4.0 이상에서 1.12.5 미만 버전에 영향을 미칩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.