Les évasions guest-to-host de VirtualBox, pour beaucoup issues de Pwn2Own et des Critical Patch Updates trimestriels d'Oracle, se regroupent dans les mêmes composants, car c'est là que les données contrôlées par l'invité sont analysées dans le processus VM :
- Accélération 3D : l'analyse des commandes/shaders OpenGL Chromium et VMSVGA, une surface répétée et productive.
- Cartes réseau : la gestion des descripteurs/émission de l'e1000 et du PCnet hérité.
- Contrôleurs USB : la gestion des anneaux et des contextes de périphériques, xHCI étant le point chaud moderne.
- Audio : la gestion DMA par descripteurs de tampon de l'Intel HDA.
- Guest Additions / HGCM : l'analyse des requêtes de dossiers partagés, presse-papiers et glisser-déposer.
Exploiter le motif#
# fingerprint the VirtualBox version (maps to the Oracle CPU advisory)
VBoxControl --version 2>/dev/null; VBoxManage --version # (host side)
# from the guest, confirm which vulnerable surfaces are enabled/present
lspci -nn; lsusb; lsmod | grep -i vbox # 3D, NIC model, USB, Additions
mount | grep -i vboxsf # shared folders enabled
Identifiez la version de VirtualBox, confirmez quels modèles de périphériques et fonctionnalités d'intégration la VM expose (3D activée, quelle NIC et quel contrôleur USB, dossiers partagés), et faites correspondre la version à l'avis CPU d'Oracle pour ce composant. Les évasions sont spécifiques à la version et nécessitent généralement une fuite d'information en plus de la primitive de corruption mémoire.
Notes d'exploitation#
- La configuration détermine la surface : l'accélération 3D, la version du contrôleur USB, le modèle de NIC et les fonctionnalités d'intégration sont tous des paramètres par VM, de sorte que la surface accessible dépend de la définition de la VM, pas seulement de la version.
- Les modèles de périphériques (USB, NIC, audio, SVGA) recouvrent d'autres hyperviseurs, donc les classes de bugs se retrouvent ; la surface HGCM/Guest Additions est le point chaud spécifique à VirtualBox.
- Les mécanismes sont sur les pages par surface ; cette page relie les grappes de bugs aux composants. Les CPU d'Oracle sont la source d'avis faisant autorité.