CVE-2026-98717 in Linux
Zusammenfassung
von VulDB • 19.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
KVM: x86/mmu: Abbruch von Shadow-Walks, wenn die Root ungültig oder eine Dummy ist
Beim Durchlaufen (Walk) der Shadow-Seitentabellen sollte der Walk sofort beendet werden, wenn es sich bei der Root um einen „Dummy“-Root handelt, d. h. eine Root, deren Seitentabelle auf oberster Ebene durch die Nullseite (zero page) unterstützt wird, ansonsten aber nicht existiert. Wenn das Erstellen eines memslot mit einem Page-Fault in Stufe 2 (EPT-Verletzung oder #NPF) von L2 konkurriert und sich bestimmte Bedingungen günstig fügen („die Sterne stehen gut“), versucht KVM, Shadow-Seitentabellen unter Verwendung der Nullseite zu durchlaufen und stößt auf eine NULL-Zeiger-Dereferenzierung.
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
Es wird opportunistisch versucht, die Shadow-Walks gegen vollständig ungültige Roots zu härten, jedoch mit einer WARN-Meldung, da von allen Aufrufern erwartet/verlangt wird, vorab auf eine gültige Root zu prüfen. Es wird keine WARN-Meldung im Fall eines Dummy-Roots ausgegeben, da der gesamte Zweck der Verwendung eines Dummy-Roots darin besteht, eine Root bereitzustellen, die ausreichend gültig ist, um in den Gast einzutreten; d. h., sie sollte für alle Flows einfach funktionieren (Just Work), außer für solche, die explizit über Dummy-Rots informiert werden müssen.
Alternativ könnte KVM eine dedizierte Seite und die zugehörige Shadow-Seitenstruktur für den Dummy-Root allokieren, was sehr verlockend ist, da ein solcher Ansatz widerstandsfähiger gegen unerwartetes Verhalten sein sollte. Dies wäre jedoch eine viel größere und damit riskantere Änderung als das einfache Beenden von Walks bei Dummy-Rots.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.