🔍 CVE-2026-122313

9.9
CVSS Score
CRITICAL
2026-11-05
2026-11-05 14:58
✅ 완료

🇰🇷 한글 설명

Kyverno 1.17.0 이상 1.19.2 미만 버전에는 네임스페이스 범위 테넌트가 NamespacedMutatingPolicy의 targetMatchConstraints.expression CEL 출력을 조작하여 다른 네임스페이스의 리소스를 수정할 수 있는 권한 상승 취약점이 존재합니다. 네임스페이스 검사가 누락되어 공격자는 다른 테넌트의 RoleBinding 같은 리소스를 직접 지정할 수 있으며, 클러스터 전역 백그라운드 컨트롤러가 이를 변경하여 공격자 주체를 추가하거나 Role, NetworkPolicy, ConfigMap을 변경하게 됩니다.

💡 쉬운 설명

정해진 범위 안에서만 작업해야 하는 일반 사용자가 Kyverno 정책을 악용해 다른 팀의 설정까지 바꿀 수 있습니다. 이를 통해 공격자가 클러스터 내 더 높은 권한을 얻을 수 있습니다.

🇺🇸 원문 (English)

Kyverno from 1.17.0 before 1.19.2 contains a privilege escalation vulnerability that allows namespace-scoped tenants to modify resources in other namespaces through NamespacedMutatingPolicy targetMatchConstraints.expression CEL output lacking namespace checks. Attackers can emit a literal target such as another tenant's RoleBinding, which the cluster-wide background controller then mutates to add attacker subjects or alter Roles, NetworkPolicies, and ConfigMaps.

📍 영향받는 시스템

Kyverno 1.17.0 이상 1.19.2 미만을 사용하는 Kubernetes 클러스터

⚔️ 공격 벡터

네임스페이스 범위 테넌트가 NamespacedMutatingPolicy의 CEL 표현식을 조작해 다른 네임스페이스의 RoleBinding 등 리소스를 대상으로 지정하여 권한을 상승시킴

🛡️ 대응 방법

Kyverno를 1.19.2 이상으로 업그레이드하고, 업그레이드 전까지 테넌트의 NamespacedMutatingPolicy 생성 권한을 제한합니다.

🔧 검증 코드

출력된 이미지 태그가 1.19.2 이상이면 취약점이 패치된 것이고, 1.17.0~1.19.1 범위이면 즉시 업그레이드가 필요합니다.

Shell / Script
kubectl get deployment kyverno -n kyverno -o jsonpath='{.spec.template.spec.containers[0].image}' 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H