Se supone nominalmente que una VM evita que el código del invitado se escape al host. Entonces, cuando tal escape es posible, entonces se debe a un agujero de seguridad en la implementación de la máquina virtual. Algunos de estos agujeros se han encontrado en varios motores de máquinas virtuales.
Ver, por ejemplo, Cloudburst , un exploit descrito en 2009. En este caso, la emulación de video es fundamental para el escape, ya que el objetivo del motor de proporcionar la emulación de video rápida implica el uso compartido de recursos internos entre el host y el invitado, y esto es en desacuerdo Con el objetivo de seguridad de la capa de aislamiento. Las computadoras modernas son sistemas complejos, por lo que la virtualización completa también es compleja, y es bastante inevitable que ocurran estos agujeros de este tipo.
Para ser justos, los agujeros que permiten el escape verdadero de los huéspedes son bastante raros. Un buen mantenimiento (aplicar sin demora las correcciones de seguridad del proveedor) para un motor de máquina virtual es una estrategia de bajo riesgo razonable. Sin embargo, tenga en cuenta que no se puede decir lo mismo para fugas de información : una VM puede aprender cosas sobre lo que sucede en otra VM, o en el host, a través de ataques de temporización. Se ha demostrado (en condiciones de laboratorio) para algoritmos de cifrado: una máquina virtual podría aprender la clave secreta utilizada por otra máquina virtual, porque esa otra máquina virtual estaba usando una implementación AES basada en tablas y se estaba ejecutando en el núcleo hermano de la máquina virtual del atacante ( por lo tanto, con un caché L1 compartido).
Sin embargo, el escape de los invitados puede ser facilitado por la configuración. Por ejemplo, cuando el host comparte parte de su sistema de archivos con el invitado, entonces, por definición , el invitado tiene acceso a parte del sistema de archivos del host. De forma similar, el host y el invitado a menudo comparten una red más o menos virtual, por lo que los agujeros explotables remotamente en el host están dentro del alcance del huésped.