CVE-2026-23401Linux内核KVM x86 MMU模块存在拒绝服务漏洞。在安装模拟MMIO SPTE时,未先清除现有的影子呈现SPTE。当主机用户空间修改影子gPTE从内存槽切换到模拟MMIO,且客户机触发页面错误时,KVM会安装MMIO SPTE而不先删除旧SPTE,导致内核警告及崩溃。
该漏洞源于KVM x86 MMU在处理页表项转换时的逻辑缺陷。通常情况下,将影子呈现SPTE转换为MMIO SPTE是不被允许的,但代码未考虑到主机用户空间(如VMM)直接修改影子gPTE的场景。当VMM将内存映射改为MMIO映射后,若客户机访问该地址,KVM在处理缺页异常时调用`mark_mmio_spte`,由于未执行`drop/zap`操作,导致检测到`is_shadow_present_pte`为真,从而触发WARNING和内核恐慌,影响系统可用性。