CVE-2026-31593Linux内核的KVM SEV组件存在一个安全漏洞。在启用SNP(安全嵌套分页)的主机上,当vCPU已经启动且VMSA(虚拟机保存区域)已加密后,如果尝试同步vCPU状态,将触发RMP违规。由于内核无法正确处理这种对私有内存的访问,会导致主机内核发生页错误并崩溃,进而引发系统Panic,造成拒绝服务。
该漏洞主要影响Linux内核中的KVM模块,特别是针对AMD处理器SEV-ES和SEV-SNP特性的实现。问题的核心在于`sev_es_sync_vmsa`函数缺乏对vCPU状态的校验。在SEV-SNP架构中,Guest的私有内存受到硬件强制执行的RMP(运行内存页表)保护。当vCPU处于启动后状态,其VMSA已被加密。此时,如果用户空间通过`KVM_SEV_LAUNCH_UPDATE_VMSA`等ioctl指令尝试同步或更新VMSA,CPU会检测到违反RMP规则的访问操作,从而触发#PF异常。内核在处理该异常时无法恢复,导致执行路径进入`sev_es_sync_vmsa`并最终引发系统崩溃。虽然该代码逻辑自引入SEV-ES时就已存在,但仅在SNP环境下才会导致主机Panic,因为早期版本仅会损坏Guest状态。