🇰🇷 한글 설명
Linux 커널의 KVM 내 SEV 구현에서 VM 파괴 시 SEV 상태가 아닌 VM에 대해서도 SEV용 'have_run_cpus' cpumask를 무조건 해제하는 취약점이 해결되었습니다. 이는 호스트 내 마이그레이션으로 인해 SEV 상태가 변경된 VM의 경우에도 메모리 해제 로직이 올바르게 작동하도록 보장합니다.
💡 쉬운 설명
가상 머신을 삭제할 때, 보안 기능(SEV)이 꺼진 상태의 가상 머신임에도 불구하고 보안용 메모리 정보를 잘못 건드려 발생할 수 있는 오류를 수정한 것입니다. 이를 통해 시스템의 안정성을 높이고 메모리 관리 오류를 방지합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
Unconditionally free SEV's "have run CPUs" cpumask in the VM destroy path,
i.e. even for what appear to be non-SEV VMs, as an SEV VM becomes a non-SEV
VM if its state is intra-host migrated. Alternatively, the mask could be
freed in sev_migrate_from() when "converting" the source VM, but that gets
annoying because ideally KVM would nullify the mask to guard against UAF,
and nullifying the mask would need be conditioned on CPUMASK_OFFSTACK=y.
Freeing the mask during sev_migrate_from() is also not robust against other
KVM bugs, though that's kind of a moot point since any such bugs would show
up even if sev->active is never set. I.e. KVM must get that side of things
correct. But, that's not a great reason to add more code just to make
things marginally less robust.
📍 영향받는 시스템
Linux Kernel (KVM/SEV 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 조건(VM 마이그레이션 및 파괴 과정)을 유도하여 메모리 관리 오류를 일으킬 수 있음
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인