🔍 CVE-2026-31842

7.5
CVSS Score
HIGH
2026-04-07
2026-06-17 10:34
✅ 완료

🇰🇷 한글 설명

Tinyproxy 1.11.3 이하에서 Transfer-Encoding 헤더 비교가 대소문자를 구분하여 RFC 7230 규정을 위반합니다. 공격자가 'Chunked' (대문자)를 보내면 Tinyproxy는 이를 인식하지 못해 요청 본문을 제대로 해석하지 못하고, 백엔드 서버와 상태 불일치가 발생하여 연결 hang, DoS, 또는 보안 검사 우회가 가능합니다.

💡 쉬운 설명

Tinyproxy가 대문자/소문자를 잘못 구분해서 요청을 잘못 읽습니다. 이로 인해 서버가 응답하지 않거나 보안 검사를 통과하지 못한 데이터가 전달될 수 있습니다.

🇺🇸 원문 (English)

Tinyproxy through 1.11.3 is vulnerable to HTTP request parsing desynchronization due to a case-sensitive comparison of the Transfer-Encoding header in src/reqs.c. The is_chunked_transfer() function uses strcmp() to compare the header value against "chunked", even though RFC 7230 specifies that transfer-coding names are case-insensitive. By sending a request with Transfer-Encoding: Chunked, an unauthenticated remote attacker can cause Tinyproxy to misinterpret the request as having no body. In this state, Tinyproxy sets content_length.client to -1, skips pull_client_data_chunked(), forwards request headers upstream, and transitions into relay_connection() raw TCP forwarding while unread body data remains buffered. This leads to inconsistent request state between Tinyproxy and backend servers. RFC-compliant backends (e.g., Node.js, Nginx) will continue waiting for chunked body data, causing connections to hang indefinitely. This behavior enables application-level denial of service through backend worker exhaustion. Additionally, in deployments where Tinyproxy is used for request-body inspection, filtering, or security enforcement, the unread body may be forwarded without proper inspection, resulting in potential security control bypass.

📍 영향받는 시스템

Tinyproxy 1.11.3 이하 모든 버전

⚔️ 공격 벡터

Transfer-Encoding: Chunked (대문자 C)로 HTTP 요청을 보내 요청 파싱 오류 유발

🛡️ 대응 방법

Tinyproxy를 1.11.4 이상으로 업그레이드하거나 src/reqs.c의 is_chunked_transfer() 함수에서 strcasecmp() 사용으로 수정

🔧 검증 코드

설치된 Tinyproxy 버전이 1.11.3 이하인 경우 취약함. 1.11.4 이상이면 패치됨

Shell / Script
dpkg -l tinyproxy 2>/dev/null | grep tinyproxy || apt-cache policy tinyproxy | grep Installed

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Nginx