Vigil@nce : Noyau Linux, déni de service via KVM et CR3
juillet 2009 par Vigil@nce
Un attaquant dans un système invité KVM peut employer le registre
CR3 afin de mener un déni de service.
Gravité : 1/4
Conséquences : déni de service de la machine
Provenance : shell utilisateur
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 30/06/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Le code de la KVM (Kernel Virtual Machine) utilise la structure
kvm_sregs pour stocker les registres Intel à modifier avec
KVM_SET_SREGS.
Le registre CR3 (kvm_sregs.cr3) indique l’adresse de base de la
Page Directory Table, utilisée pour la pagination de la mémoire.
Lorsque l’adresse indiquée par CR3 est invalide, un pointeur NULL
est utilisé par la fonction gfn_to_rmap(). Cette erreur conduit à
un déni de service.
Un attaquant dans un système invité KVM peut donc employer le
registre CR3 afin de mener un déni de service.
CARACTÉRISTIQUES
Références : VIGILANCE-VUL-8830
http://vigilance.fr/vulnerabilite/Noyau-Linux-deni-de-service-via-KVM-et-CR3-8830