CVE-2026-63807 in Linuxinformation

Résumé

par VulDB • 20/07/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

KVM: x86/mmu : S'assurer que le hugepage est dans l'intervalle (slot) avant de vérifier le niveau maximal de mappage

Lors de la récupération des hugepages dans le MMU ombre (shadow MMU), vérifiez que le gfn de base de la page ombre est effectivement contenu dans l'intervalle cible, *avant* d'interroger le niveau maximal de mappage en fonction du gfn de la page ombre. Le fait de ne pas pré-vérifier la validité du gfn peut entraîner un accès hors limites (out-of-bounds) vers les informations sur les pages larges (lpage_info) de l'intervalle, ce qui se manifeste généralement par une erreur #PF hôte car le lpage_info est alloué via vmalloc), si l'invité crée un mappage hugepage (dans ses PTEs) qui s'étend « en dessous » des limites d'un intervalle.

Lors de la mise en défaut mémoire pour un invité, et lorsque la taille du mappage de l'invité est supérieure au niveau maximal actuel de KVM, alors KVM créera une page ombre « directe » (directe dans le sens où il n'y a pas de gPTEs à ombrer, donc le gfn cible est un calcul direct en fonction du gfn de base de la page ombre). Le flux de récupération des hugepages recherche ces pages ombres directes, car forcer les mappages 4KiB lorsque l'enregistrement des modifications (dirty logging) génère le cas où la taille de mappage invité > hôte. Lorsque la restriction 4KiB est levée, KVM peut remplacer la page ombre par un hugepage.

Mais si KVM a initialement utilisé une taille de mappage plus petite que celle de l'invité parce que la plage de mémoire couverte par le hugepage invité dépasse les limites d'un intervalle, alors KVM reliera une page ombre directe avec un gfn qui est en dehors des limites de l'intervalle utilisé pour mettre en défaut la mémoire. L'entrée rmap ajoutée pour le mappage feuille (leaf) est correcte et dans les limites, mais le gfn du parent de la SPTE feuille sera hors limites.

BUG: unable to handle page fault for address: ffffc90000806ffc #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 100000067 P4D 100000067 PUD 1002a7067 PMD 10612f067 PTE 0 Oops: Oops: 0000 [#1] SMP
CPU: 13 UID: 1000 PID: 757 Comm: mmu_stress_test Not tainted 7.1.0-rc1-48ce1e26eace-x86_pir_to_irr_comments-vm #341 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:kvm_mmu_max_mapping_level+0x79/0x2

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Réserver

19/07/2026

Divulgation

19/07/2026

Modérer

accepté

Entrée

VDB-380144

CPE

prêt

EPSS

0.00000

KEV

non

Activités

moyen

Sources

Do you know our Splunk app?

Download it now for free!