
Laboratorio educativo que demuestra la RCE CVE-2021-42392 en H2 Database mediante CREATE ALIAS, con servidor vulnerable dockerizado y script de explotación en Python para pruebas aisladas.
Este repositorio proporciona un entorno mínimo y controlado para probar la vulnerabilidad de Ejecución Remota de Código en la Base de Datos H2 (CVE-2021-42392) utilizando la función CREATE ALIAS. A diferencia de muchas demostraciones, este exploit ataca directamente el servicio TCP de H2 (típicamente en el puerto 9092), sin depender de la Consola Web de H2.
🛑 Solo con fines educativos y de prueba. No lo use en sistemas que no le pertenezcan o para los que no tenga permiso explícito para probar.
CVE-2021-42392 es una vulnerabilidad crítica en versiones de H2 Database anteriores a la 2.0.206 que permite la ejecución remota de código mediante CREATE ALIAS si la base de datos está expuesta a través de TCP o la Consola Web.
Este proyecto incluye:
2.0.202jaydebeapi y JPypeCon Docker:
Si se ejecuta el exploit fuera de Docker:
git clone https://github.com/Be-Innova/CVE-2021-42392-exploit-lab
cd h2-cve-2021-42392-poc
docker compose build
docker compose up -d
docker compose exec client bash
python3 h2_exploit.py --url jdbc:h2:tcp://h2-vulnerable\:9092/~/test --cmd "touch /tmp/pwned" --jar /jars/h2.jar
python3 h2_exploit.py --url <jdbc-url> --cmd "<command>" --jar "path-to-jar"
Argumentos:
--url: URL JDBC de la instancia vulnerable de H2 (p.ej., jdbc:h2:tcp://192.168.1.100\:9092/~/test)--cmd: Comando a ejecutar en el servidor vulnerable--jar: Ruta opcional al JAR del controlador H2 (predeterminado: /jars/h2.jar)9092 abierto de la base de datos H2 vulnerablejavac instalado en el servidor que ejecuta la base de datos vulnerableEste código se proporciona tal cual, con fines educativos y de pruebas de penetración éticas en entornos aislados. No lo use en sistemas no autorizados. El autor no se hace responsable del mal uso.