🇰🇷 한글 설명
KubeVirt의 virt-handler 도메인 알림 서버에서 발견된 결함입니다. HandleDomainEvent 및 HandleK8SEvent gRPC 핸들러가 연결 출처를 검증하지 않고 요청 본문만으로 VMI 식별자(네임스페이스/이름)를 결정합니다. 이로 인해 침해된 virt-launcher 프로세스가 같은 노드의 다른 VMI에 대해 위조된 도메인 라이프사이클 이벤트를 전송할 수 있습니다.
💡 쉬운 설명
가상 머신을 관리하는 KubeVirt 시스템의 한 구성요소에 취약점이 있습니다. 공격자가 한 가상 머신을 장악하면 같은 서버의 다른 가상 머신 상태를 조작해 실행을 방해할 수 있습니다.
🇺🇸 원문 (English)
A flaw was found in KubeVirt's virt-handler domain notify server. The gRPC handlers for HandleDomainEvent and HandleK8SEvent derive the VMI identity (namespace/name) solely from the request body without validating it against the connection's origin. Each virt-launcher pod connects through a per-VMI pipe socket, but no identity tag is propagated from the pipe path to the server handlers. This allows a compromised virt-launcher process to send forged domain lifecycle events for any other VMI scheduled on the same node, causing virt-handler to erroneously update that VMI's state and disrupt its lifecycle management.
📍 영향받는 시스템
KubeVirt virt-handler (취약 버전 및 패치 버전은 공식 보안 공지 확인 필요)
⚔️ 공격 벡터
침해된 virt-launcher 프로세스가 위조된 도메인/K8S 이벤트를 virt-handler gRPC 엔드포인트로 보내 같은 노드의 다른 VMI 상태를 변경
🛡️ 대응 방법
KubeVirt를 공식 패치가 적용된 최신 버전으로 업그레이드하고 virt-launcher 권한과 노드 격리를 강화
🔧 검증 코드
출력된 이미지 태그의 버전을 KubeVirt 공식 보안 공지의 패치 버전과 비교해 패치 적용 여부를 판단합니다. 이미지 태그가 패치 버전 이상이면 조치된 것입니다.
kubectl get deployment virt-handler -n kubevirt -o jsonpath='{.spec.template.spec.containers[0].image}' 2>/dev/null
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
💻 영향받는 소프트웨어
Multi-Domain Security Management Server