🇰🇷 한글 설명
Karmada는 다중 쿠버네티스 클러스터 관리 시스템으로, v1.12.0 이전 버전의 PULL 모드 클러스터가 과도한 권한을 가져 karmada-agent로 인증된 공격자가 전체 페더레이션 시스템의 관리자 권한을 획득할 수 있다. v1.12.0부터는 접근 권한이 제한되었으며, 구버전은 Karmada 컴포넌트 권한 문서를 참고하여 수동으로 제한해야 한다.
💡 쉬운 설명
쿠버네티스 클러스터들을 관리하는 Karmada 시스템에서 한 클러스터에 접근 권한이 있으면 전체 시스템을 제어할 수 있는 권한 관리 문제가 있었다. 1.12.0 이상으로 업그레이드하면 이 문제가 해결된다.
🇺🇸 원문 (English)
Karmada is a Kubernetes management system that allows users to run cloud-native applications across multiple Kubernetes clusters and clouds. Prior to version 1.12.0, the PULL mode clusters registered with the `karmadactl register` command have excessive privileges to access control plane resources. By abusing these permissions, an attacker able to authenticate as the karmada-agent to a karmada cluster would be able to obtain administrative privileges over the entire federation system including all registered member clusters. Since Karmada v1.12.0, command `karmadactl register` restricts the access permissions of pull mode member clusters to control plane resources. This way, an attacker able to authenticate as the karmada-agent cannot control other member clusters in Karmada. As a workaround, one may restrict the access permissions of pull mode member clusters to control plane resources according to Karmada Component Permissions Docs.
📍 영향받는 시스템
Karmada < 1.12.0 (PULL 모드 클러스터)
⚔️ 공격 벡터
karmada-agent 인증 권한을 가진 공격자가 PULL 모드 클러스터의 과도한 권한을 악용하여 다른 모든 클러스터에 관리자 권한 획득
🛡️ 대응 방법
Karmada를 1.12.0 이상으로 업그레이드하거나 공식 문서에 따라 PULL 모드 클러스터의 RBAC 권한을 수동으로 제한
🔧 검증 코드
출력된 버전이 1.12.0 이상이면 패치됨, 1.12.0 미만이면 취약점 존재 (명령어 실행 불가 시 시스템에 Karmada 미설치)
karmadactl version 2>/dev/null | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+'