Encuentran una vulnerabilidad zero-day en VirtualBox
Hace poco un investigador ruso dio a conocer los detalles de una vulnerabilidad zero-day en VirtualBox que permite a un atacante salir de la máquina virtual para ejecutar código malicioso en el sistema operativo anfitrión.
El investigador ruso Sergey Zelenyuk, descubrió una vulnerabilidad zero-day que afecta directamente a la versión 5.2.20 de Virtual Box, así como también a las versiones anteriores.
Esta vulnerabilidad detectada permitiría a un atacante escapar de la máquina virtual (sistema operativo invitado) y pasar al Ring 3, para que desde ahí pueda hacer uso de técnicas existentes para escalar privilegios y llegar al sistema operativo anfitrión (kernel o ring 0).
De acuerdo con los detalles iniciales de la divulgación, el problema está presente en una base de código compartido del software de virtualización, disponible en todos los sistemas operativos compatibles.
Sobre la vulnerabilidad Zero-Day detectada en VirtualBox
De acuerdo con un archivo de texto cargado en GitHub, el investigador Sergey Zelenyuk, con sede en San Petersburgo, encontró una cadena de errores que pueden permitir que el código malicioso escape de la máquina virtual VirtualBox (el sistema operativo invitado) y se ejecute en el sistema operativo subyacente (host).
Una vez fuera de la VM VirtualBox, el código malicioso se ejecuta en el espacio de usuario limitado del sistema operativo.
“El exploit es 100% confiable”, dijo Zelenyuk. “Significa que funciona siempre o nunca debido a binarios no coincidentes u otras razones más sutiles que no tuve en cuenta”.
El investigador ruso dice que el zero-day afecta a todas las versiones actuales de VirtualBox, funciona independientemente del host o sistema operativo invitado que el usuario esté ejecutando, y es confiable contra la configuración predeterminada de las máquinas virtuales recién creadas.
Sergey Zelenyuk, en total desacuerdo con la respuesta de Oracle en su programa de bug bounty y con el “mercadeo” actual de vulnerabilidades, ha publicado también un video con la PoC que muestra el 0-day en acción contra una máquina virtual de Ubuntu que se ejecuta dentro de VirtualBox en un sistema operativo host también de Ubuntu.
Zelenyuk muestra detalles de cómo el error se puede aprovechar en máquinas virtuales configuradas con el adaptador de red “Intel PRO / 1000 MT de escritorio (82540EM)” en el modo NAT. Es la configuración predeterminada de todos los sistemas invitados para acceder a redes externas.
Cómo funciona la vulnerabilidad
De acuerdo con la guía técnica hecha por Zelenyuk, el adaptador de red es vulnerable, lo que permite a un atacante con raíz de privilegio / admin de escape para albergar anillo 3. A continuación, utilizando las técnicas existentes, el atacante puede escalar privilegios de Ring – a través de / dev / vboxdrv.
“El [Intel PRO / 1000 MT Desktop (82540EM)] tiene una vulnerabilidad que permite que un atacante con privilegios de administrador / root en un invitado se escape a un anillo host3. Luego, el atacante puede usar las técnicas existentes para aumentar los privilegios para llamar al 0 mediante / dev / vboxdrv, ” describe Zelenyuk en su artículo técnico el martes.
Zelenyuk dice que un aspecto importante para entender cómo funciona la vulnerabilidad es entender que los descriptores de contexto se procesan antes que los descriptores de datos.
El investigador describe los mecanismos detrás de la falla de seguridad en detalle, mostrando cómo activar las condiciones necesarias para obtener un desbordamiento de búfer que podría abusarse para escapar de los confinamientos del sistema operativo virtual.
Primero, provocó una condición de subdesbordamiento de enteros utilizando descriptores de paquetes: segmentos de datos que permiten al adaptador de red rastrear los datos de paquetes de red en la memoria del sistema.
Este estado se aprovechó para leer los datos del sistema operativo invitado en un búfer de almacenamiento dinámico y provocar una condición de desbordamiento que podría llevar a sobrescribir los punteros de la función; o para causar una condición de desbordamiento de pila.
El experto sugiere que los usuarios mitiguen el problema cambiando la tarjeta de red en sus máquinas virtuales a AMD PCnet o un adaptador de red paravirtualizado o evitando el uso de NAT.
“Hasta que la construcción de VirtualBox parcheada esté fuera, puede cambiar la tarjeta de red de sus máquinas virtuales a PCnet (cualquiera de las dos) o a Red Paravirtualizada.
El artículo Encuentran una vulnerabilidad zero-day en VirtualBox aparece primero en Encuentran una vulnerabilidad zero-day en VirtualBox.