CVE-2026-98717 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
KVM: x86/mmu: Interrompere le traversate delle tabelle di pagina shadow se la radice non è valida o è un "dummy" (fittizio)
Durante la traversata delle tabelle di pagina shadow, interrompere immediatamente l'operazione se la radice è una radice "dummy", ovvero una radice la cui tabella di pagina di livello superiore è supportata dalla pagina zero ma che altrimenti non esiste. Se la creazione del memslot va in race condition con un page fault stage-2 (violazione EPT o #NPF) da L2, e se le condizioni si allineano favorevolmente, KVM tenterà di eseguire una traversata delle tabelle di pagina shadow utilizzando la pagina zero, causando un dereferenziamento di puntatore NULL.
BUG: kernel NULL pointer dereference, address: 0000000000000021 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP
CPU: 30 UID: 1000 PID: 941 Comm: qemu Not tainted 7.2.0-rc2-1b731e5ded48-next-vm #1741 PREEMPTLAZY Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:__kvm_mmu_invalidate_addr+0xea/0x210 [kvm]
Call Trace: <TASK> kvm_mmu_invalidate_addr+0x92/0xe0 [kvm]
__kvm_inject_emulated_page_fault+0x67/0x80 [kvm]
ept_page_fault+0x160/0x850 [kvm]
kvm_mmu_do_page_fault+0x102/0x1f0 [kvm]
kvm_mmu_page_fault+0x8e/0x6b0 [kvm]
vmx_handle_exit+0x163/0x640 [kvm_intel]
kvm_arch_vcpu_ioctl_run+0x960/0x2120 [kvm]
kvm_vcpu_ioctl+0x2c7/0x970 [kvm]
__x64_sys_ioctl+0x90/0xd0 do_syscall_64+0x67/0x5f0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f606d0b53bb
Indurire opportunamente le traversate shadow contro radici completamente non valide, ma generare un WARN (avviso), poiché tutti i caller sono previsti e tenuti a verificare preventivamente la validità della radice. Non generare un WARN nel caso di una radice dummy, poiché lo scopo principale dell'utilizzo di una radice fittizia è fornire una radice sufficientemente valida per consentire l'accesso al guest; dovrebbe quindi funzionare correttamente in tutti i flussi tranne quelli che *devono* essere a conoscenza delle radici dummy.
In alternativa, KVM potrebbe allocare una pagina dedicata e la relativa struttura della tabella di pagina shadow per la radice fittizia, un approccio molto tentante poiché sarebbe più resiliente rispetto a comportamenti imprevisti. Tuttavia, si tratterebbe di una modifica molto più ampia e quindi più rischiosa rispetto alla semplice terminazione delle traversate delle radici dummy.
VulDB is the best source for vulnerability data and more expert information about this specific topic.