🔍 CVE-2024-43403

8.8
CVSS Score
HIGH
2024-08-20
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

Kanister 데이터 보호 도구의 기본 오퍼레이터가 과도한 권한의 edit ClusterRole에 바인딩되어 있어, 워커 노드에 접근한 악의적 사용자가 클러스터 전체 권한 상승을 수행할 수 있습니다. 공격자는 daemonset 생성/수정, 서비스 계정 토큰 생성, 서비스 계정 권장(impersonate) 기능을 악용해 관리자 권한을 획득할 수 있습니다.

💡 쉬운 설명

Kanister 보안 도구가 필요 이상의 강한 권한을 가지고 있어서, 쿠버네티스 서버에 접근한 공격자가 전체 시스템을 제어할 수 있게 됩니다. 도구 관리자가 권한을 최소한으로 제한하면 문제가 해결됩니다.

🇺🇸 원문 (English)

Kanister is a data protection workflow management tool. The kanister has a deployment called default-kanister-operator, which is bound with a ClusterRole called edit via ClusterRoleBinding. The "edit" ClusterRole is one of Kubernetes default-created ClusterRole, and it has the create/patch/udpate verbs of daemonset resources, create verb of serviceaccount/token resources, and impersonate verb of serviceaccounts resources. A malicious user can leverage access the worker node which has this component to make a cluster-level privilege escalation.

📍 영향받는 시스템

Kanister default-kanister-operator가 설치된 모든 Kubernetes 클러스터 (버전 미지정)

⚔️ 공격 벡터

워커 노드 접근 후 ClusterRole binding을 통해 daemonset 조작, 서비스 계정 토큰 생성, 권한 상승을 순차적으로 수행

🛡️ 대응 방법

default-kanister-operator의 ClusterRoleBinding을 edit에서 최소 필요 권한의 커스텀 ClusterRole로 변경하거나, 네임스페이스 범위의 Role로 축소

🔧 검증 코드

kanister-operator 관련 바인딩에서 edit ClusterRole이 나타나면 취약점이 존재하는 상태입니다. 다른 최소 권한 역할이 표시되면 패치된 상태입니다.

Shell / Script
kubectl get clusterrolebinding -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.roleRef.name}{"\n"}{end}' | grep kanister

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Kubernetes