CVE-2026-43133Linux内核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或宿主机的内存状态,进而导致内核崩溃、数据泄露或利用该错误进行本地权限提升。攻击者需具备本地低权限,并在受影响的虚拟机环境中运行特制代码来触发此逻辑错误。