CVE-2026-99082 in Linuxinfo

Zusammenfassung

von VulDB • 23.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

KVM: x86: Aktive Memslots für den pro-vCPU-MMIO-Cache verwenden

KVM kennzeichnet den pro-vCPU-MMIO-Cache mit einer Memslot-Generation, sodass ein Update eines Memslots zwischengespeicherte MMIO-Informationen ungültig macht. Sowohl die Pfade zum Füllen als auch zur Validierung nutzen kvm_memslots(), was bedingungslos Adressraum 0 auswählt, selbst wenn der vCPU im SMM-Modus läuft und den Adressraum 1 verwendet.

Das Commit 56f17dd3fbc4 („kvm: x86: fix stale mmio cache bug“) fügte dem Cache-Schlüssel die Memslot-Generation hinzu, damit ein Memslot-Update keinen veralteten Eintrag als gültig erscheinen lässt. Als das Commit 699023e23965 („KVM: x86: add SMM to the MMU role, support SMRAM address space“) den SMM-Adressraum hinzufügte, wurden diese Hilfsfunktionen nicht aktualisiert, um die aktiven Memslots zu verwenden.

Folglich kann ein Update der SMM-Memslots dazu führen, dass ein Eintrag aus dem alten SMM-Adressraum nach der Rückkehr des vCPU in den normalen Adressraum scheinbar gültig bleibt. Ein Gast kann dann einen Zugriff auf gültigen RAM an derselben GFN (Guest Frame Number) veranlassen, der als KVM_EXIT_MMIO an die Benutzerspace-Anwendung zurückgegeben wird.

Das Abschließen dieses Exits über den RAM-Adressraum des VMM schreibt die zugrunde liegende Seite, ohne den Write-Tracking-Pfad von KVM zu durchlaufen. Wenn diese Seite eine verschachtelte EPT-Tabelle (Extended Page Table) unterstützt, kann KVM weiterhin Schattenübersetzungen verwenden, die aus dem alten Inhalt abgeleitet wurden. Die WARN_ON_ONCE()-Anweisung in kvm_mmu_write_protect_fault() fängt diese ungültige Kombination aus Cache und Memslot ab.

Verwenden Sie die aktiven Memslots des vCPU beim Zwischenspeichern und Validieren des Eintrags. Memslot-Generationen sind über Adressräume hinweg eindeutig, sodass die Generation auch zwischen den normalen und SMM-Sichten unterscheidet. Dies entspricht dem MMIO-SPTE-Cache, der bereits kvm_vcpu_memslots() verwendet.

Bei einem nicht gepatchten aktuellen Mainline-Kernel schläft ein Regressionstest fehl, der den Cache im SMM füllt und nur die SMM-Memslots aktualisiert; er scheitert am beabsichtigten RAM-Schreibvorgang und löst die Warnung in kvm_mmu_write_protect_fault() aus. Mit dieser Änderung schließt derselbe Test den RAM-Schreibvorgang ohne Warnung ab. Die Selbsttests x86/smm_test, set_memory_region_test und memslot_modification_stress_test bestehen ebenfalls.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

23.10.2026

Moderieren

akzeptiert

Eintrag

VDB-425817

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Interested in the pricing of exploits?

See the underground prices here!