Vigil@nce : Noyau Linux, débordement d’entier via kvm_dev_ioctl_get_supported_cpuid
octobre 2009 par Vigil@nce
Sur un processeur 32 bits, un attaquant local peut provoquer un
débordement dans la fonction kvm_dev_ioctl_get_supported_cpuid(),
afin de mener un déni de service, ou éventuellement de faire
exécuter du code.
– Gravité : 2/4
– Conséquences : accès/droits administrateur, 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 : 23/10/2009
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
L’ioctl KVM_GET_SUPPORTED_CPUID permet à un système KVM invité
d’obtenir des informations sur le processeur.
Cet ioctl appelle la fonction kvm_dev_ioctl_get_supported_cpuid()
du fichier arch/x86/kvm/x86.c. Cependant, lorsque l’utilisateur
demande trop d’informations, une multiplication déborde, et une
zone mémoire trop courte est allouée. Les données du processeurs
corrompent alors la mémoire.
Un attaquant local peut donc provoquer un débordement dans la
fonction kvm_dev_ioctl_get_supported_cpuid(), afin de mener un
déni de service, ou éventuellement de faire exécuter du code.
CARACTÉRISTIQUES
– Références : BID-36803, CVE-2009-3638, VIGILANCE-VUL-9116
– Url : http://vigilance.fr/vulnerabilite/Noyau-Linux-debordement-d-entier-via-kvm-dev-ioctl-get-supported-cpuid-9116