Testé sur Windows avec VMware Workstation 16.2.0, avec Ubuntu Server 22 comme OS invité
Au moins un périphérique USB doit être attaché à la machine invitée
Modifiez le 'qh->field4' dans le code ehci.c
Tapez 'sudo ./run.sh' pour compiler et exécuter le poc
Exemple
Utilisez 'lsusb' pour déterminer l'identifiant du périphérique, puis utilisez cet identifiant pour définir 'qh->field4'
Le code vmx allouera une structure tampon de taille 0x18 (la taille peut être contrôlée dans le code) pour lire la mémoire physique de l'invité.
La taille totale de cette structure sera de 0x400
L'adresse de cette structure est 0x26d6caa80d0
À la fin, vmx lira 0x800 octets (taille contrôlable dans le code) de mémoire physique dans 0x2606CAA84C0, soit les 0x10 derniers octets de 0x26d6caa80d0 (les 0x8 premiers octets ont déjà été lus lors de l'allocation)
À coup sûr, cela provoquera une écriture hors limites (OOB).