Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vbox_cve_2017_10235 — [CVE-2017-10235] Descripción y PoC del desbordamiento de búfer en el dispositivo E1000 de VirtualBox | Kitploit
Herramientas/GitHubGitHub/fundacion-sadosky/vbox_cve_2017_10235
Seguridad de Sistemas EmbebidosAnálisis de VulnerabilidadesExplotaciónFuzzingSeguridad de HardwareExplotación de Binarios
GitHubfundacion-sadosky/vbox_cve_2017_10235

vbox_cve_2017_10235

[CVE-2017-10235] Descripción y PoC del desbordamiento de búfer en el dispositivo E1000 de VirtualBox

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
36513hace 8 añosRevisado por Kitploit

CVE-2017-10235: Resumen del buffer overflow en el emulador de dispositivos de VirtualBox E1000

Introducción

En este repositorio se encuentra una descripción técnica y prueba de concepto de una vulnerabilidad encontrada en VirtualBox v5.1.22 (solucionada en v5.1.24), específicamente en el componente de emulación de dispositivos en el guest, DevE1000, en la función e1kFallbackAddToFrame. Esta vulnerabilidad deriva en un buffer overflow en el host cuando el sistema operativo del guest es controlado por un atacante.

La vulnerabilidad fue reconocida por Oracle en el CPU de Julio de 2017 donde se emitió el CVE-2017-10235.

La vulnerabilidad fue comprobada tanto con un host de Linux (Ubuntu 16.04) como de Windows (v8.1), corriendo un sistema operativo Linux (también Ubuntu 16.04) en el guest, pero la vulnerabilidad podría explotarse con otras combinaciones distintas de sistemas operativos para el host y el guest. En todos los escenarios de prueba se asume la configuración de red por defecto: solo un adaptador de red en modo NAT (opción attached to NAT) del tipo Intel PRO/1000 MT Desktop (82540EM).

Dado que estructuras de control (que incluyen punteros a funciones) pueden ser sobreescritas con datos controlados por el atacante, es prudente asumir que podría lograrse ejecución de código remoto en muchos escenarios posibles. Oracle asignó un puntaje bajo para el CVSS de esta vulnerabilidad porque consideró que tenía un riesgo de confidencialidad nulo, y uno bajo para integridad, lo que a nuestra consideración no refleja todo el potencial de esta vulnerabilidad para comprometer al usuario (una explicación más detallada de esta potencialidad está dada en el informe completo en inglés).

Prueba de concepto

Dado que la configuración necesaria del adaptador de red para explotar esta vulnerabilidad no es para nada trivial, y para evitar desarrollar un driver especial para las pruebas, se modificó el driver de un kernel genérico de Linux para poder generar los paquetes de datos y de control para que suceda el buffer overflow. La versión modificada del kernel esta disponible para descargar desde este repositorio. Fue probada con un guest de Ubuntu 16.04, causando un crash tanto en un host de Linux como Windows (una descripción más detallada en inglés se encuentra acá).

Soluciones posibles

La vulnerabilidad fue arreglada en el Changeset 67974. Los chequeos de seguridad en forma de Assert en e1kFallbackAddToFrame fueron convertidos a chequeos explícitos en forma de if (similares a los ya existentes en la función e1kAddToFrame), que de esta manera permanecen activos en la versión final que descarga el usuario.

Terminología en inglés

  • Host (anfitrión): La máquina donde se instala VirtualBox.

  • Guest (huésped): La máquina emulada dentro de VirtualBox que puede tener un sistema operativo distinto al del host.

  • Buffer overflow: Un error en la programación que puede derivar en que el programa sobreescriba por fuera de los límites de los de donde debería, pudiendo pisar información del sistema con datos externos controlados por el atacante.

  • Driver: Componente del sistema operativo que se encarga de manejar los dispositivos de la máquina.

  • Kernel: Componente central del sistema operativo.

  • Crash: Situación en la cual el estado actual del sistema operativo se corrompe a nivel tal que resulta inusable (e.g., pantalla azul de Windows).

Descargar herramienta