🇰🇷 한글 설명
Traefik 3.6.0~3.6.22 및 3.7.0~3.7.6 버전에서 IngressRouteTCP 서비스의 serversTransport 참조 시 crossProviderNamespaces 허용 목록 검증이 누락되는 취약점이 발견되었습니다. 이를 통해 권한이 낮은 Kubernetes 사용자가 허용되지 않은 파일 프로바이더의 TCPServersTransport를 참조하여 mTLS 인증서나 SPIFFE ID와 같은 민감한 설정을 탈취할 수 있습니다.
💡 쉬운 설명
권한이 낮은 사용자가 보안 규칙을 우회하여 관리자만 사용할 수 있는 중요한 보안 설정(인증서 등)을 몰래 가져다 쓸 수 있는 문제입니다. 이로 인해 시스템의 보안 통제권이 무력화될 수 있습니다.
🇺🇸 원문 (English)
Traefik 3.6.0 through 3.6.22 and 3.7.0 through 3.7.6 fail to enforce the crossProviderNamespaces allowlist for IngressRouteTCP service serversTransport references (the allowlist was only enforced for HTTP serversTransport references). A low-privileged Kubernetes user in a namespace not listed in crossProviderNamespaces can set serversTransport: foo@file on an IngressRouteTCP service, causing Traefik to accept the forbidden cross-provider reference and use a file-provider TCPServersTransport — including privileged backend mTLS client certificates, SPIFFE identity, or PROXY-protocol settings. This is fixed in 3.6.23 and 3.7.7.
📍 영향받는 시스템
Traefik 3.6.0-3.6.22, 3.7.0-3.7.6
⚔️ 공격 벡터
낮은 권한의 Kubernetes 사용자가 IngressRouteTCP 설정 내 serversTransport에 허용되지 않은 파일 프로바이더 참조를 삽입하여 공격
🛡️ 대응 방법
Traefik 버전을 3.6.23 또는 3.7.7 이상으로 업데이트
🔧 검증 코드
출력된 버전이 취약한 범위(3.6.0-3.6.22 또는 3.7.0-3.7.6)에 해당하면 취약한 상태입니다.
traefik version | grep -E 'v3\[6|3\.7\.[0-6]\]'