[INFO] [PUBLICATION] VENOM : la faille qui permet de s'échapper d'un environnement virtualisé

Nous vous proposons cette semaine notre bulletin INFO sur la faille VENOM, récemment dévoilée. Elle permet à un attaquant de s’échapper d’un environnement virtualisé et d’accéder au système hôte voire aux autres machines virtualisées.

Bulletin CXA-2015-1603
Titre VENOM : la faille qui permet de s’échapper d’un environnement virtualisé
Titre officiel Virtualized Environment Neglected Operations Manipulation
Criticité Criticite Elevée
Plateforme Toutes
Exploitation Distante
Dommage Accès au système
Description Jason Geffner, chercheur en sécurité chez CrowdStrike, a récemment découvert une vulnérabilité présente depuis 2004 dans de nombreux environnements de virtualisation tels que : Xen, KVM, VirtualBox, Citrix, F5 et FireEye.
C’est en effet en 2004 que fut ajouté au code de QEMU, utilisé entre autres par les environnements cités précédemment, un contrôleur de disquette au sein duquel la vulnérabilité référencée CVE-2015-3456 est présente.

Même si les supports disquette sont depuis bien longtemps inutilisés, le contrôleur mit en place reste lui encore activé par défaut dans les environnements de virtualisation. S’ajoute à cela une erreur de conception au sein de Xen et QEMU impliquant que le code vulnérable reste actif même si un administrateur souhaite désactiver ce contrôleur de disquette.

L’exploitation de cette vulnérabilité permettait en échappant au confinement d’une machine virtuelle, d’atteindre l’hyperviseur, les autres machines virtuelles gérées par cet hyperviseur, voire tout autre système pouvant être accessible depuis cet hôte.

Cette méthode s’exploite de la façon suivante :

* Le système d’exploitation (virtualisé) communique avec le contrôleur de la disquette avec des commandes telles que : seek, read, write, et format sur le port d’entrée-sortie du contrôleur.
* Ce dernier s’attend à des paramètres d’une taille définie qu’il associe avec une commande, l’exécute puis attend la commande suivante.
* La remise à zéro du tampon des commandes est faite immédiatement après le traitement de celle-ci. Sauf pour deux commandes où il est alors possible avec des paramètres spécialement conçus de dépasser la taille du tampon et d’exécuter du code arbitraire sur la machine hôte.

Remarque : il faut cependant au préalable avoir les droits administrateurs afin de pouvoir communiquer avec ce contrôleur.

L’impact de cette vulnérabilité est toutefois atténué si la bibliothèque de virtualisation libvirt est utilisée pour gérer les machines virtuelles utilisant QEMU. Les processus de virtualisation s’exécutent alors avec l’utilisateur libvirt-qemu dont l’accès aux ressources système est limité et ne permet pas au pirate d’étendre son attaque. À cela peut s’ajouter un profil « AppArmor » qui limite significativement l’impact de cette vulnérabilité.

Note : aucune attaque n’a pour l’instant était recensée, cette vulnérabilité a été rendue publique le 13 mai 2015.

Note 2 : il est possible pour les superviseurs KVM et Xen de corriger la vulnérabilité sans nécessiter un redémarrage de la machine hôte, suivre pour cela les recommandations
disponibles à l’adresse suivante : http://www.venomfix.com/

Référence http://venom.crowdstrike.com/
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/VENOM
Référence CVE http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3456
Id XMCO CXA-2015-1603
Lien extranet XMCO https://cert.xmco.fr/veille/client/index.xmco?nv=CXA-2015-1603

Adrien Guinault

Découvrir d'autres articles