
POC autodesarrollado para el desbordamiento de pila ESXI CVE-2021-21974, solo compatible con los objetivos y entornos dados por el proyecto, para aprendizaje e investigación.
VMware ESXi OpenSLP Desbordamiento de montón PoC de ejecución remota de código
Autor: Aiyakami
CVE-2021-21974 es una vulnerabilidad de desbordamiento de montón en el servicio OpenSLP de VMware ESXi. Un atacante no autenticado puede enviar paquetes especialmente diseñados al servicio SLP (puerto predeterminado 427) de un host ESXi objetivo a través de la red, logrando ejecución remota de código (RCE).
Este repositorio proporciona un PoC de Python de un solo archivo que se puede reproducir de manera estable en un entorno ESXi 6.7 real. Atraviesa la red puramente, sin necesidad de credenciales locales ni acceso SSH al objetivo para desencadenar la ejecución de comandos.
| Elemento | Información |
|---|
| Sistema objetivo | VMware ESXi 6.7.0 Update03 |
| Número de compilación | 14320388 |
| Servicio vulnerable | OpenSLP (slpd), puerto 427 |
| Tasa de éxito de prueba | 100% |
ISO oficial de VMware-VMvisor-Installer 6.7.0 update03 build-14320388:
Esta imagen es la imagen de instalación original utilizada en el entorno de prueba anterior, y puede reproducir completamente la tasa de éxito del 100% de este PoC.
Las siguientes dos capturas de pantalla son los resultados reales de la ejecución de este PoC en ESXi 6.7 build-14320388:


# El host ESXi objetivo debe estar ejecutando el servicio slpd (puerto predeterminado 427)
python CVE-2021-21974.py
Cuando se ejecuta el script, imprime la firma del autor y luego ejecuta la cadena de explotación completa: fuga de información stage1 → lectura de dirección arbitraria → fuga de base libc → localización del búfer DB → reescritura de __free_hook a system → SrvDeReg desencadena la ejecución del comando.
El COMMAND predeterminado es:
echo PWNED_BY_CVE_2021_21974>/tmp/p
Tras el éxito, se puede ver PWNED_BY_CVE_2021_21974 en /tmp/p del host objetivo.
Nota: Este PoC se basa en parámetros de diseño de montón fijos y depende de la versión de slpd/glibc del ESXi 6.7 build-14320388 objetivo. Al cambiar de entorno, es necesario ajustar los parámetros fd/size/pacing en consecuencia.
Este proyecto se utiliza únicamente para investigación de seguridad autorizada y escenarios educativos de CTF/AWD, verificados en entornos de sandbox aislados. No lo utilice en sistemas reales no autorizados. El usuario asume toda la responsabilidad legal que surja de ello.