CVE-2026-53359

Élevée8.8Publiée le 4 juillet 2026

Dans le noyau Linux, la vulnérabilité suivante a été résolue : KVM: x86: Fix shadow paging use-after-free due to unexpected role Le commit 0cb2af2ea66ad ("KVM: x86: Fix shadow paging use-after-free due to unexpected GFN") a corrigé une incohérence du shadow paging entre les GFNs stockés et calculés ; le bug pouvait être déclenché en modifiant un mapping PDE depuis l'extérieur du guest, puis en supprimant un memslot. L'appel rmap_remove() manquait les entrées créées après la modification du PDE car le GFN de la leaf SPTE ne correspond pas au GFN de la struct kvm_mmu_page. Un trou similaire subsiste cependant si le PDE modifié pointe vers une page non-leaf. Dans ce cas le gfn peut être rendu correspondant, mais le role ne correspond pas : la grande page originale de 2MB crée un kvm_mmu_page avec direct=1, tandis que le nouveau 4KB nécessite un kvm_mmu_page avec direct=0. Cependant, kvm_mmu_get_child_sp() ne compare pas le role, et réutilise donc la page. L'étape suivante est l'installation d'une leaf SPTE (4KB) sur le nouveau chemin qui enregistre une entrée rmap sous le gfn résolu par le walk. Mais lorsque cet enfant est zapped son parent kvm_mmu_page a direct=1 et kvm_mmu_page_get_gfn() calcule le gfn pour la page de 4KB comme sp->gfn + index au lieu d'utiliser sp->shadowed_translation[] (ou sp->gfns[] dans les kernels plus anciens). Il ne parvient donc pas à supprimer l'entrée enregistrée. Lorsque le memslot est supprimé la shadow page est libérée mais l'entrée rmap survit, comme dans le scénario déjà corrigé. Le code qui parcourt ensuite ce gfn (dirty logging, MMU notifier invalidation, et ainsi de suite) déréférence un sptep qui se trouve dans la page libérée, provoquant le use-after-free.

Score CVSS8.8 / 10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Type de faiblesse (CWE)CWE-416, CWE-416
Éditeurslinux

Produits concernés

ÉditeursProduitVersions
linuxlinux kernel< 6.1.177

Articles liés

This product uses the NVD API but is not endorsed or certified by the NVD.

La description technique est notre traduction du texte original du NVD, en anglais.

Base de données CVE