Lunario dei Frati PatchatoriIl calendario dei santi delle CVE

Patrono del 6 luglio

JanuscapeHoly card for januscape, generated with AI (Claude, Anthropic) for the Lunario dei Frati Patchatori.CC BY-NC-SA 4.0 Januscape DUO VULTUS
🤖 Immagine e testi generati con AI

⬇ Scarica il santino: ·

Incorpora nel tuo sito

Sant'Januscape, che guardava da due facce fuori dalla VM

Patrono degli hypervisor KVM su x86, della paginazione ombra e dei ruoli assegnati per sbaglio.

Vita

Nel luglio 2026 Hyunwoo Kim (v4bel) rivelò Januscape (CVE-2026-53359), un use-after-free nella paginazione ombra di KVM/x86. Un ruolo inatteso assegnato a una pagina della MMU faceva saltare l'invariante tra le GFN memorizzate e quelle calcolate, lasciando una falla già vista in parte da patch precedenti. Un ospite poteva far crollare il kernel dell'host, trascinando le altre VM, o puntare all'esecuzione come root; dove /dev/kvm è scrivibile da tutti, diventava anche scalata locale.

Preghiera

O Sant'Januscape, che guardi dentro e fuori la macchina virtuale con due volti, fa' che i nostri ruoli combacino sempre con ciò che rappresentano. Amen.

Come si festeggia

Si festeggia aggiornando il kernel degli host KVM x86 e verificando che /dev/kvm non sia alla portata di chiunque.

Chi ha due facce, scavalca ogni muro.

Scheda tecnica

Divulgata il
6 luglio 2026
CVE
CVE-2026-53359
CVSS
8.8
Prodotto
Linux · Linux

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Fix shadow paging use-after-free due to unexpected role Commit 0cb2af2ea66ad ("KVM: x86: Fix shadow paging use-after-free due to unexpected GFN") fixed a shadow paging mismatch between stored and computed GFNs; the bug could be triggered by changing a PDE mapping from outside the guest, and then deleting a memslot. The rmap_remove() call would miss entries created after the PDE change because the GFN of the leaf SPTE does not match the GFN of the struct kvm_mmu_page. A similar hole however remains if the modified PDE points to a non-leaf page. In this case the gfn can be made to match, but the role does not match: the original large 2MB page creates a kvm_mmu_page with direct=1, while the new 4KB needs a kvm_mmu_page with direct=0. However, kvm_mmu_get_child_sp() does not compare the role, and therefore reuses the page. The next step is installing a leaf (4KB) SPTE on the new path which records an rmap entry under the gfn resolved by the walk. But when that child is zapped its parent kvm_mmu_page has direct=1 and kvm_mmu_page_get_gfn() computes the gfn for the 4KB page as sp->gfn + index instead of using sp->shadowed_translation[] (or sp->gfns[] in older kernels). It therefore fails to remove the recorded entry. When the memslot is dropped the shadow page is freed but the rmap entry survives, as in the scenario that was already fixed. Code that later walks that gfn (dirty logging, MMU notifier invalidation, and so on) dereferences an sptep that lies in the freed page, causing the use-after-free.

Fonti: januscape.io · github.com

📅 Aggiungi al tuo calendario

SantiGoogle CalendarApple, Outlook (.ics)

Ricorrenze (feste, flagelli e miracoli)Google CalendarApple, Outlook (.ics)

Su Google Calendar puoi anche incollare l’indirizzo in Impostazioni → Aggiungi calendario → Da URL. Il primo caricamento può richiedere qualche ora.