IPBUF安全漏洞报告
English
CVE-2026-23401 CVSS 5.5 中危

CVE-2026-23401 Linux内核KVM拒绝服务漏洞

披露日期: 2026-04-01
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-23401
漏洞类型
拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

拒绝服务Linux内核KVMMMIO本地漏洞

漏洞概述

Linux内核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和内核恐慌,影响系统可用性。

攻击链分析

STEP 1
步骤1
攻击者获取本地低权限访问权限,能够控制主机用户空间进程或影响VMM配置。
STEP 2
步骤2
主机用户空间(VMM)将客户机的一个已映射内存页(memslot)修改为模拟MMIO设备。
STEP 3
步骤3
客户机尝试访问该内存地址,触发EPT违规或缺页异常。
STEP 4
步骤4
KVM MMU在处理异常时,错误地在未清除旧SPTE的情况下直接安装MMIO SPTE。
STEP 5
步骤5
触发内核WARNING(mark_mmio_spte警告),导致系统不稳定或拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-23401 * This requires a custom VMM or QEMU modification to trigger the race. */ #include <linux/kvm.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> int main() { int kvm_fd = open("/dev/kvm", O_RDWR); int vm_fd = ioctl(kvm_fd, KVM_CREATE_VM, 0); // ... Setup VM and VCPU ... // 1. Map a guest page to a memslot (Normal Memory) // kvm_vm_ioctl(vm_fd, KVM_SET_USER_MEMORY_REGION, &region); // 2. Trigger a guest write to this page to establish shadow-present SPTE // run_guest_code(vcpu_fd); // 3. Host userspace modifies gPTE to switch region to MMIO // (e.g., via KVM_SET_USER_MEMORY_REGION with flags or dirty logging manipulation) // modify_memslot_to_mmio(vm_fd, region); // 4. Trigger guest access to the same address again // This causes KVM to install MMIO SPTE without zapping the old one. // run_guest_code(vcpu_fd); // Result: Kernel WARNING in mark_mmio_spte return 0; }

影响范围

Linux Kernel (Prior to commit aad885e774966e97b675dfe928da164214a71605)
Linux Kernel (Prior to commit bce7fe59d43531623f3e43779127bfb33804925d)

防御指南

临时缓解措施
限制对KVM虚拟化平台的本地访问权限,监控主机用户空间对内存映射的修改操作,及时更新内核。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表