Vigil@nce - libvirt : lecture fichier via Disk Probe
juin 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant qui est administrateur dans un système invité peut employer la fonctionnalité Disk Probe de libvirt, afin de lire un fichier du système hôte.
Gravité : 1/4
Date création : 17/06/2011
PRODUITS CONCERNÉS
OpenSUSE
Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
La bibliothèque libvirt fournit une interface standardisée sur plusieurs produits de virtualisation (Xen, QEMU, KVM, etc.).
Le système invité peut utiliser un disque virtuel (/dev/hda), qui est stocké dans un fichier image du système hôte. Lorsque format du disque (raw, qcow2, etc.) n’a pas été définit lors de l’installation du système invité, la fonctionnalité Disk Probe de libvirt regarde les premiers octets du fichier image pour déterminer son format.
Un administrateur dans un système invité peut employer "qemu-img -f qcow2 /dev/hda" pour changer le format du fichier image en qcow2, puis y écrire un entête illicite. Le format qcow2 est auto-extensible, donc si l’entête qcow2 créé indique un offset situé hors du fichier image, l’attaquant pourra accéder à un autre fichier du système hôte. Comme la fonctionnalité Disk Probe est dangereuse, elle a été désactivée en version 0.7.2 (allowDiskFormatProbing initialisé à faux par défaut).
Cependant, depuis la version 0.8.8, la fonction virSecurityManagerGetPrivateData() du fichier libvirt src/security/security_manager.c écrase la structure _virSecurityManager, qui contient le champ allowDiskFormatProbing. La fonctionnalité Disk Probe est alors réactivée, et l’ancienne vulnérabilité est de nouveau utilisable.
Un attaquant qui est administrateur dans un système invité peut donc employer la fonctionnalité Disk Probe de libvirt, afin de lire un fichier du système hôte.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
Tweeter