🇰🇷 한글 설명
Kubernetes용 Capsule 프레임워크 0.1.3 미만 버전에서 발생하는 취약점입니다. 테넌트 네임스페이스의 ServiceAccount가 자신의 네임스페이스에 대해 PATCH 권한을 가질 경우, Owner Reference를 삭제하여 Capsule Operator의 관리 통제를 벗어날 수 있습니다. 이를 통해 보안 정책(Pod Security, Network Policy 등)을 무력화하고 권한 상승 공격을 수행할 수 있습니다.
💡 쉬운 설명
사용자에게 할당된 방의 관리 권한을 몰래 삭제하여, 원래는 금지된 위험한 행동을 마음대로 할 수 있게 되는 보안 결함입니다. 공격자는 이 허점을 이용해 시스템 전체의 통제권을 뺏으려 시도할 수 있습니다.
🇺🇸 원문 (English)
Capsule is a multi-tenancy and policy-based framework for Kubernetes. Prior to version 0.1.3, a ServiceAccount deployed in a Tenant Namespace, when granted with `PATCH` capabilities on its own Namespace, is able to edit it and remove the Owner Reference, breaking the reconciliation of the Capsule Operator and removing all the enforcement like Pod Security annotations, Network Policies, Limit Range and Resource Quota items. An attacker could detach the Namespace from a Tenant that is forbidding starting privileged Pods using the Pod Security labels by removing the OwnerReference, removing the enforcement labels, and being able to start privileged containers that would be able to start a generic Kubernetes privilege escalation. Patches have been released for version 0.1.3. No known workarounds are available.
📍 영향받는 시스템
Capsule framework versions prior to 0.1.3
⚔️ 공격 벡터
테넌트 네임스페이스 내 ServiceAccount를 이용한 Namespace의 OwnerReference PATCH 요청
🛡️ 대응 방법
Capsule 프레임워크를 버전 0.1.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 이미지 태그 버전이 0.1.3 미만이면 취약한 상태입니다.
kubectl get deployment capsule-operator -n capsule -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -E 'capsule:[0-0]\.[0-1]\.[0-2]'