CVE-2023-38697 in protocol-http1 Gem
요약
\~에 의해 VulDB • 2026. 05. 24.
protocol-http1은 HTTP/1 프로토콜의 저수준 구현을 제공합니다. RFC 9112 섹션 7.1은 청크 크기, 청크 데이터 및 청크 확장자의 형식을 정의합니다. Content-Length 헤더의 값은 0-9 숫자로 구성된 문자열이어야 하며, 청크 크기는 16진수 숫자로 구성된 문자열이어야 하고 CRLF를 사용하여 청크 데이터와 구분되어야 하며, 청크 확장자는 보이지 않는 문자를 포함해서는 안 됩니다. 그러나 Falcon은 해당 RFC를 위반하는 다음과 같은 동작을 보입니다: `+` 접두사가 있는 Content-Length 헤더 값을 허용하고, `0x` 접두사가 있는 16진수 형식의 Content-Length 헤더 값을 허용하며, `0x` 및 `+` 접두사가 있는 청크 크기를 허용하고, 청크 확장자 내에서 LF를 허용합니다. 이러한 동작은 여러 HTTP 파서를 통해 전달할 때 동기화 불일치(desync)를 초래할 수 있으며, 이는 HTTP 요청 스머핑(HTTP request smuggling) 및 방화벽 우회로 이어질 가능성이 있습니다. 이 문제는 `protocol-http1` v0.15.1에서 수정되었습니다. 알려진 우회 방법은 없습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.