🇰🇷 한글 설명
Kubernetes용 멀티테넌시 프레임워크인 Capsule에서 발생하는 권한 상승 취약점입니다. 0.13.0 미만 버전에서는 테넌트 관리자가 클러스터 범위의 리소스를 생성하여 클러스터 전체에 대한 권한을 획득할 수 있습니다.
💡 쉬운 설명
사용자가 허용된 범위 이상의 권한을 몰래 사용하여 전체 시스템을 제어할 수 있는 보안 구멍이 발견되었습니다. 테넌트 관리자가 원래는 만들 수 없는 중요한 설정들을 만들어 시스템 전체를 공격할 수 있습니다.
🇺🇸 원문 (English)
Capsule is a multi-tenancy and policy-based framework for Kubernetes. The Capsule Controller runs with cluster-admin privileges. Although the TenantResource RawItems processing logic forcibly sets the namespace, this is ineffective for cluster-scoped resources. Prior to version 0.13.0, tenant administrators can leverage the Controller's elevated privileges to create cluster-scoped resources (such as ClusterRole and ValidatingWebhookConfiguration) that they cannot create directly, achieving cross-tenant privilege escalation and cluster-level attacks. The attack vector has a few limiting factors. This attack requires Tenant Owner privileges and requires Capsule Controller running with cluster-admin privileges (default configuration). Additionally, some clusters may have additional admission controllers blocking malicious resources. Version 0.13.0 patches this issue.
📍 영향받는 시스템
Capsule Controller version < 0.13.0
⚔️ 공격 벡터
테넌트 관리자 권한을 이용해 ClusterRole 등 클러스터 범위의 리소스를 생성하여 권한 상승
🛡️ 대응 방법
Capsule Controller를 0.13.0 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력 결과에 0.13.0 미만의 버전 번호가 포함되어 있다면 취약한 버전이 설치된 상태입니다.
kubectl get deployment capsule-controller -n capsule -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -E 'capsule-controller:0\.(0|1[0-2])'