
Un exploit proof‑of‑concept basato su C per CVE‑2025‑54769, che automatizza la creazione e il caricamento di uno script Perl CGI malevolo verso l'endpoint di aggiornamento di LPAR2RRD, sfruttando directory traversal per esecuzione remota di codice.
Questo repository contiene un proof‑of‑concept (PoC) per CVE-2025-54769, una vulnerabilità trovata in lpar2rrd.
La vulnerabilità consente l'esecuzione remota di codice (RCE) e il directory traversal abusando dell'endpoint /lpar2rrd-cgi/upgrade.sh. Il flusso di sfruttamento è il seguente:
Crea automaticamente un payload Perl CGI malevolo (users.pl) che esegue comandi shell arbitrari (default: whoami).
Utilizza libcurl per inviare via POST lo script generato come "pacchetto di aggiornamento" all'endpoint vulnerabile, bypassando la convalida di base dei file.
Sfrutta una falla di path traversal per spostare lo script caricato nella directory CGI, rendendolo accessibile per l'esecuzione.
Attiva lo script CGI tramite una richiesta GET appositamente creata (/lpar2rrd-cgi/users.sh?cmd=commandLinux) e cattura l'output del comando per l'attaccante.
gcc exploit.c argparse.c -o exploit -lcurl
./exploit -i <IP> -p PORT -t <PROTOCOL>
./exploit -i <IP> -p <PORT> -t <PROTOCOL> -v
Sostituisci con l'istanza LPAR2RRD target. La porta di destinazione deve corrispondere al servizio (es. 80 per HTTP, 443 per HTTPS) e il protocollo deve essere http o https.
MIT License