🇰🇷 한글 설명
kcp의 front-proxy가 요청을 전달하기 전에 X-Remote-User 등 특정 신원 헤더를 제거하지 않는 취약점입니다. 인증된 테넌트가 권한 관련 헤더를 주입하여 다른 워크스페이스를 사칭하거나 권한을 우회하여 리소스 및 비밀 정보를 임의로 조작할 수 있습니다.
💡 쉬운 설명
사용자가 자신의 신분증을 위조하여 관리자 권한을 가진 것처럼 속일 수 있는 보안 결함입니다. 이를 통해 다른 사용자의 데이터에 접근하거나 시스템 설정을 마음대로 바꿀 수 있습니다.
🇺🇸 원문 (English)
kcp is a Kubernetes-like control plane for form-factors and use-cases beyond Kubernetes and container workloads. Prior to 0.31.4 and 0.32.2, the kcp front-proxy does not remove inbound X-Remote-User, X-Remote-Group, or X-Remote-Extra-* identity headers before forwarding requests to shards. Any authenticated tenant can inject X-Remote-Group: system:masters, authorization.kcp.io/warrant, authentication.kcp.io/scopes, or a group used for per-workspace required-group gating, and the shard trusts these values as authenticated identity assertions. This allows cross-workspace impersonation, authorization bypass, and arbitrary reading, writing, or deletion of resources, secrets, RBAC data, APIExports, APIBindings, and LogicalClusters. This issue is fixed in versions 0.31.4 and 0.32.2.
📍 영향받는 시스템
kcp versions prior to 0.31.4 and 0.32.2
⚔️ 공격 벡터
인증된 테넌트가 조작된 X-Remote-* 헤더를 포함한 요청을 front-proxy로 전송하여 권한을 탈취함
🛡️ 대응 방법
kcp 버전을 0.31.4 또는 0.32.2 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 0.31.4 미만이거나 0.32.2 미만인 경우 취약한 버전입니다.
kcp --version | grep -E '0\.(31\.[0-4]|32\.[2-9])'