🇰🇷 한글 설명
Linux 커널의 KVM SEV 모듈에서, SNP 게스트의 launch 완료 시 VMSA 동기화 및 암호화 과정 중 vCPU에 대한 잠금이 없었습니다. 이로 인해 userspace가 동기화 중인 vCPU를 조작하거나 실행할 수 있었고, 이는 vCPU 상태 손상이나 호스트 커널 크래시로 이어질 수 있습니다. 수정으로 모든 vCPU를 잠그고, VMSA 동기화 시 vcpu->mutex 보유를 검증합니다.
💡 쉬운 설명
가상 머신의 가상 CPU 상태를 저장하는 과정에서 다른 프로그램이 그 상태를 동시에 건드릴 수 있었습니다. 이로 인해 가상 머신이 오작동하거나 호스트 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: SEV: Lock all vCPUs when synchronzing VMSAs for SNP launch finish
Lock all vCPUs when synchronizing and encrypting VMSAs for SNP guests, as
allowing userspace to manipulate and/or run a vCPU while its state is being
synchronized would at best corrupt vCPU state, and at worst crash the host
kernel.
Opportunistically assert that vcpu->mutex is held when synchronizing its
VMSA (the SEV-ES path already locks vCPUs).
📍 영향받는 시스템
AMD SEV-SNP를 사용하는 KVM 호스트 기반 Linux 커널 (수정이 반영되지 않은 커널 버전)
⚔️ 공격 벡터
호스트 userspace에서 SNP 게스트 launch 과정 중 vCPU 상태가 동기화되는 동안 해당 vCPU를 조작하거나 실행하여 상태 손상 또는 커널 크래시 유발
🛡️ 대응 방법
배포판 제공 최신 커널 패키지로 업데이트 후 재부팅
🔧 검증 코드
커널 버전이 패치된 배포판 버전 이상인지 확인하고, SEV 지원 CPU 여부와 /dev/sev 장치 존재 여부로 이 취약점 영향 대상인지 판단합니다.
uname -r && grep -i sev /proc/cpuinfo | head -1 && ls /dev/sev 2>/dev/null