Vulnerabilidad día cero en VirtualBox es revelada

Share this…

Un desarrollador de exploits ruso reveló públicamente la falla de seguridad

Un experto en ciberseguridad y forense digital y desarrollador de exploits de Rusia ha revelado públicamente una vulnerabilidad día cero en todas las versiones de VirtualBox 5.2.20 y anteriores. VirtualBox es un software de virtualización de código abierto desarrollado por Oracle y que ha sido ampliamente utilizado, reportan expertos del Instituto Internacional de Seguridad Cibernética.

Según el análisis de Sergey Zelenyuk, los problemas de corrupción de memoria son responsables de esta vulnerabilidad día cero, además menciona que el exploit es 100% confiable. La vulnerabilidad afecta a la tarjeta de red Intel PRO/1000 MT Desktop (82540EM) (E1000) si el modo de red está configurado en Network Address Translation (NAT). El problema prevalece en una base de código compartido del software de virtualización, que está disponible literalmente en todos los sistemas operativos.

Acorde a expertos en forense digital, esta vulnerabilidad no es específica de esta plataforma o de algún sistema operativo principalmente porque está presente en una base de código compartido. Zelenyuk también ha demostrado los pasos a seguir para explotar la vulnerabilidad. A través de la explotación de esta falla, un atacante puede evadir el entorno virtual de una computadora invitada y obtener acceso directo y fácil a la capa de privilegios Ring 3, que se utiliza para ejecutar la codificación de la mayoría de los programas de usuario con privilegios mínimos.

Zelenyuk descubrió que el error puede aprovecharse en aquellas máquinas virtuales que se han configurado con el adaptador de red Intel PRO/1000 MT Desktop (82540EM) solo cuando está en el modo NAT, mientras que la configuración predeterminada permite que el sistema huésped pueda acceder a redes externas. Zelenyuk explica claramente el error en su blog: “El Intel PRO/1000 MT tiene una vulnerabilidad día cero que permite a un atacante con privilegios de administrador operar como un invitado para escapar a un anillo host3. Luego, el atacante puede usar técnicas existentes para escalar privilegios hasta ring 0 a través de /dev/vboxdrv”.

Además, afirmó que es importante comprender la forma en que se explota esta falla, ya que es la clave para entender cómo se procesan los descriptores de contexto antes de los descriptores de datos. Zelenyuk demostró cómo se activan las condiciones necesarias para obtener un desbordamiento de búfer, que puede ser explotado para evadir los confinamientos del sistema operativo virtual.

El experto en forense digital utilizó los descriptores de paquetes para producir una condición de subdesbordamiento en segmentos de datos que hacen que el adaptador de red localice los datos de paquetes de la red buscando en la memoria del sistema. A continuación, Zelenyuk leyó los datos del sistema operativo invitado en un búfer de pila para crear una condición de desbordamiento. Esto condujo a la sobrescritura de los punteros de función, que pueden entenderse como una condición de desbordamiento de pila.

Zelenyuk además explicó en su informe técnico que el exploit depende de dos condiciones de desbordamiento y el acceso de los proveedores a los permisos de nivel Ring 3, por lo tanto, para controlar el sistema operativo host es necesario obtener una escalada de privilegios. Un atacante puede hacer eso al vincular otra vulnerabilidad para lograr mayores privilegios, lo que es un proceso difícil pero ciertamente no imposible, acorde a Zelenyuk.