IPBUF安全漏洞报告
English
CVE-2026-43133 CVSS 7.9 高危

CVE-2026-43133 Linux Kernel nSVM VMSAVE/VMLOAD逻辑错误漏洞

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

漏洞信息

漏洞编号
CVE-2026-43133
漏洞类型
权限提升
CVSS评分
7.9 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelKVMCVE-2026-43133权限提升虚拟化漏洞nSVM

漏洞概述

Linux内核KVM模块在处理nSVM(嵌套虚拟化)的VMLOAD/VMSAVE指令模拟时存在逻辑漏洞。当L2虚拟机执行这些指令且未被L1拦截时,KVM错误地使用了vmcb02而非vmcb01。这导致虚拟机状态保存/加载错误,可能被恶意利用以破坏系统稳定性或实现权限提升。建议尽快更新内核补丁。

技术细节

该漏洞源于Linux内核KVM模块对嵌套SVM(nSVM)功能的实现缺陷。在嵌套虚拟化环境中,L1 hypervisor运行在L0(KVM)之上,L2 guest运行在L1之上。VMLOAD和VMSAVE指令用于保存和加载处理器状态。Commit cc3ed80ae69f原本旨在让KVM始终使用vmcb01来处理受VMSAVE/VMLOAD控制的字段,但遗漏了更新VMLOAD/VMSAVE的模拟代码。当L2 guest执行VMLOAD/VMSAVE且L1未拦截该指令时,KVM错误地引用了当前活动的VMCB(即vmcb02),而不是应该使用的vmcb01。这种错误的内存引用可能导致L2 guest破坏L1或宿主机的内存状态,进而导致内核崩溃、数据泄露或利用该错误进行本地权限提升。攻击者需具备本地低权限,并在受影响的虚拟机环境中运行特制代码来触发此逻辑错误。

攻击链分析

STEP 1
步骤1
攻击者获取L2虚拟机的本地低权限访问权限。
STEP 2
步骤2
攻击者确认宿主机使用存在漏洞的Linux Kernel版本并开启了nSVM嵌套虚拟化。
STEP 3
步骤3
攻击者在L2虚拟机中构造代码,执行VMLOAD或VMSAVE指令。
STEP 4
步骤4
确保L1虚拟机未拦截这些指令,使KVM直接处理模拟。
STEP 5
步骤5
触发KVM错误使用vmcb02的漏洞,导致内存破坏或权限提升。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept: Triggering the nSVM VMLOAD/VMSAVE emulation path. * This requires a nested virtualization setup where L1 does not intercept VMLOAD/VMSAVE. * The L2 guest executes the instruction to trigger the bug. */ #include <stdio.h> #include <stdlib.h> int main() { printf("Attempting to trigger CVE-2026-43133...\n"); // In a real nested environment, executing these instructions in L2 // without interception by L1 triggers the KVM emulation bug. // asm volatile("vmsave" : : "a" (vmcb_addr)); // asm volatile("vmload" : : "a" (vmcb_addr)); // The bug causes KVM to use vmcb02 instead of vmcb01, // leading to memory corruption. return 0; }

影响范围

Linux Kernel (修复补丁发布前版本)

防御指南

临时缓解措施
在应用补丁之前,可以通过禁用KVM的嵌套虚拟化功能(nested virtualization)来缓解风险,这可以防止L2恶意guest利用该特定路径。

参考链接

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