🇰🇷 한글 설명
Linux 커널의 KVM 내 nVMX 구성 요소에서 발생하는 취약점으로, VMCLEAR 실행 직후 shadow VMCS를 숨기는 과정에서 레이스 컨디션이 발생할 수 있습니다. free_nested() 함수가 shadow VMCS를 해제할 때 vmcs01 포인터가 여전히 이를 가리키고 있어, vCPU가 이동하기 전 포인터가 정리되지 않으면 잘못된 VMCLEAR가 실행될 위험이 있습니다.
💡 쉬운 설명
가상 머신을 운영하는 시스템의 핵심 기능에서 메모리 관리 순서가 어긋나 발생하는 문제입니다. 이로 인해 시스템이 예상치 못한 동작을 하거나 보안 결함이 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: nVMX: Hide shadow VMCS right after VMCLEAR
free_nested() frees the shadow VMCS while vmcs01 still points to it. But
because it is asynchronous with respect to loaded_vmcs_clear(), the vCPU
might migrate before the pointer is cleared and __loaded_vmcs_clear()
may then execute VMCLEAR.
The VMCS needs to stay attached until its explicit VMCLEAR completes, but
then it can be hidden and the page safely freed.
📍 영향받는 시스템
Linux kernel (KVM/nVMX 관련 모듈 사용 시스템)
⚔️ 공격 벡터
중첩 가상화(Nested Virtualization) 환경에서 vCPU 마이그레이션 및 메모리 해제 시점의 타이밍 공격
🛡️ 대응 방법
KVM의 shadow VMCS 관리 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인