Évasion guest-to-host

Un invité VirtualBox s'évade en corrompant le processus VM hôte qui émule ses périphériques. La surface accessible est l'ensemble des périphériques émulés : le chemin d'accélération 3D, les contrôleurs audio, les cartes réseau et les contrôleurs USB, chacun analysant des écritures de registres et des structures DMA pilotées par l'invité, plus les services HGCM derrière les Guest Additions.

1 min de lecturemis à jour le 13 oct. 2026florianamette1 contributeur
Demander à votre assistant (MCP)Modifier sur GitHub

Une VM VirtualBox s'exécute à l'intérieur d'un processus hôte qui émule ses périphériques, donc s'évader revient à faire manipuler incorrectement par ce processus des données contrôlées par l'invité. La surface des périphériques est large : le chemin d'accélération 3D (utilisé par les Guest Additions pour les graphismes accélérés), les contrôleurs audio émulés, les cartes réseau et les contrôleurs USB, chacun lisant côté hôte les écritures de registres et les descripteurs DMA de l'invité. L'exécution de code atterrit dans le processus VM, qui s'exécute avec les privilèges de l'utilisateur ayant démarré la VM. L'intégration Guest Additions (dossiers partagés, presse-papiers) ajoute la surface des services HGCM, traitée séparément.

bash
# the emulated devices visible in the guest (escape surface)
lspci -nn; lsusb
dmesg | grep -iE 'e1000|pcnet|ac97|hda|ohci|ehci|xhci'

Sous-sujets#

Références#