🔍 CVE-2023-26484

8.2
CVSS Score
HIGH
2023-03-15
2026-06-17 05:43
✅ 완료

🇰🇷 한글 설명

KubeVirt 0.59.0 및 이전 버전에서 발생하며, 공격자가 virt-handler가 실행 중인 Kubernetes 노드를 장악할 경우 해당 서비스 계정을 이용해 모든 노드의 스펙을 수정할 수 있습니다. 이를 통해 권한이 높은 시스템 구성 요소를 공격자의 노드로 유인하여 클러스터 전체의 기밀 정보 탈취나 권한 상승을 초래할 수 있습니다.

💡 쉬운 설명

해커가 컴퓨터 한 대를 해킹하면, 그 컴퓨터의 권한을 이용해 다른 컴퓨터들까지 조종하여 중요한 정보를 훔칠 수 있는 보안 약점입니다. 마치 한 방의 열쇠를 훔쳤는데 그 열쇠로 건물 전체의 모든 방을 열 수 있게 되는 것과 같습니다.

🇺🇸 원문 (English)

KubeVirt is a virtual machine management add-on for Kubernetes. In versions 0.59.0 and prior, if a malicious user has taken over a Kubernetes node where virt-handler (the KubeVirt node-daemon) is running, the virt-handler service account can be used to modify all node specs. This can be misused to lure-in system-level-privileged components which can, for instance, read all secrets on the cluster, or can exec into pods on other nodes. This way, a compromised node can be used to elevate privileges beyond the node until potentially having full privileged access to the whole cluster. The simplest way to exploit this, once a user could compromise a specific node, is to set with the virt-handler service account all other nodes to unschedulable and simply wait until system-critical components with high privileges appear on its node. No patches are available as of time of publication. As a workaround, gatekeeper users can add a webhook which will block the `virt-handler` service account to modify the spec of a node.

📍 영향받는 시스템

KubeVirt 0.59.0 및 그 이전 버전

⚔️ 공격 벡터

장악된 노드의 virt-handler 서비스 계정을 사용하여 다른 노드의 스케줄링 설정을 변경하고 고권한 컴포넌트를 유인함

🛡️ 대응 방법

Gatekeeper 웹훅을 추가하여 virt-handler 서비스 계정의 노드 스펙 수정 권한을 차단함

🔧 검증 코드

출력된 이미지 태그 버전이 0.59.0 이하인지 확인하여 취약 여부를 판단합니다.

Shell / Script
kubectl get pods -A | grep kubevirt | awk '{print $1}' | xargs kubectl get pod -n <namespace> -o jsonpath='{.spec.containers[*].image}' | grep -E 'kubevirt/kubevirt:[0-0]\.[0-9]\.'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Kubernetes