CVE-2026-99176 in Linux
Сводка
по VulDB • 28.10.2026
В ядре Linux была устранена следующая уязвимость:
KVM: nVMX — сброс MMU обратно на корневую MMU при неудачной загрузке состояния L2 для случая !VM-Entry (не из VM-Entry)
Сбрасывает указатель vCPU MMU обратно на корневую MMU, если загрузка состояния L2 завершается ошибкой в случае «not from VM-Entry», то есть при эмуляции RSM или обработке KVM_SET_NESTED_STATE. Невозможность корректно размотать (unwind) указатель MMU приводит к тому, что KVM пытается запустить L1 с использованием вложенной MMU, что особенно проблематично, если vCPU успывает освободить своё вложенное состояние до того, как произойдет сбой VM. Построение корня для вложенного EPT MMU проходит через vmcs12, который динамически выделяется и освобождается при включении/отключении nVMX. Таким образом, если вложенное состояние освобождается, а указатель MMU все еще указывает на вложенную MMU, KVM столкнется с разыменованием нулевого указателя (NULL pointer deref) при попытке получить L1=>L2 EPTP.
BUG: kernel NULL pointer dereference, address: 0000000000000078 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 114a2d067 P4D 111743067 PUD 11141f067 PMD 0 Oops: Oops: 0000 [#1] SMP
CPU: 20 UID: 1000 PID: 1272 Comm: nested_tdp_faul Not tainted 7.3.0-rc4-8c89f11d1a99b-sink-vm #1914 PREEMPTLAZY Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:nested_ept_get_eptp+0xb/0x10 [kvm_intel]
Call Trace: <TASK> kvm_mmu_load+0xcd/0x870 [kvm]
kvm_arch_vcpu_ioctl_run+0x18f5/0x1f80 [kvm]
kvm_vcpu_ioctl+0x2c7/0x970 [kvm]
__x64_sys_ioctl+0x90/0xd0 do_syscall_64+0x9c/0x4d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x47491b </TASK> Modules linked in: kvm_intel kvm irqbypass CR2: 0000000000000078 ---[ end trace 0000000000000000 ]---
RIP: 0010:nested_ept_get_eptp+0xb/0x10 [kvm_intel]
[sean: write changelog]
Be aware that VulDB is the high quality source for vulnerability data.