🇰🇷 한글 설명
Traefik의 HTTP/1.1 요청 처리 과정에서 Connection 헤더의 대소문자 구분 오류로 인해 발생하는 취약점입니다. 공격자가 소문자로 구성된 Connection 토큰을 사용하여 Traefik이 관리하는 X-Forwarded 헤더(X-Real-Ip 등)를 강제로 삭제할 수 있습니다. 이로 인해 클라이언트의 실제 식별 정보가 유실될 수 있습니다.
💡 쉬운 설명
웹 서버가 사용자의 원래 주소를 기억하도록 설정되어 있는데, 공격자가 글자 크기를 교묘하게 조절하여 이 기록을 지워버릴 수 있는 문제입니다. 이를 통해 공격자는 자신의 진짜 정체를 숨기고 서버를 속일 수 있습니다.
🇺🇸 원문 (English)
Traefik is an HTTP reverse proxy and load balancer. From version 2.11.9 to 2.11.37 and from version 3.1.3 to 3.6.8, there is a potential vulnerability in Traefik managing the Connection header with X-Forwarded headers. When Traefik processes HTTP/1.1 requests, the protection put in place to prevent the removal of Traefik-managed X-Forwarded headers (such as X-Real-Ip, X-Forwarded-Host, X-Forwarded-Port, etc.) via the Connection header does not handle case sensitivity correctly. The Connection tokens are compared case-sensitively against the protected header names, but the actual header deletion operates case-insensitively. As a result, a remote unauthenticated client can use lowercase Connection tokens (e.g. Connection: x-real-ip) to bypass the protection and trigger the removal of Traefik-managed forwarded identity headers. This issue has been patched in versions 2.11.38 and 3.6.9.
📍 영향받는 시스템
Traefik versions 2.11.9 to 2.11.37 and 3.1.3 to 3.6.8
⚔️ 공격 벡터
원격의 인증되지 않은 공격자가 소문자 Connection 헤더(예: Connection: x-real-ip)를 사용하여 보호된 헤더 삭제를 유도함
🛡️ 대응 방법
Traefik을 버전 2.11.38 또는 3.6.9 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.11.38 미만이거나 3.6.9 미만인 경우 취약한 버전입니다.
traefik version 2>/dev/null | grep -E 'v(2.11.[0-9]{1,2}|3)'