
Riproduzione CVE: cve-2026-0770-langflow_rce_reproduction
CVSS 9.8 (Critico) | ZDI-CAN-27325 | CWE-829: Inclusione di funzionalità da una sfera di controllo non attendibile
CVE-2026-0770 è una vulnerabilità critica di esecuzione di codice remoto non autenticata in Langflow, un framework applicativo low-code per la creazione di app basate su LLM. Il difetto risiede nell'endpoint /api/v1/validate, dove il parametro exec_globals viene passato in modo non sicuro alla funzione exec() di Python, consentendo a un attaccante non autenticato di eseguire codice arbitrario con i privilegi del processo Langflow (tipicamente root).
Scoperta tramite la Zero Day Initiative (ZDI-CAN-27325).
L'endpoint di validazione di Langflow su /api/v1/validate accetta un payload JSON contenente un campo exec_globals. Questo dizionario è pensato per un uso interno, per pre-popolare le variabili globali durante la validazione dei componenti personalizzati. Tuttavia, l'endpoint non sanifica né limita il contenuto di exec_globals, e i valori vengono passati direttamente alla funzione built-in exec() di Python:
exec(user_code, exec_globals)
Un attaccante può iniettare codice Python arbitrario fornendo un dizionario exec_globals appositamente costruito che sovrascrive le funzioni built-in o inietta callable dannosi. Quando Langflow valuta internamente il codice utente con questi globali, il codice iniettato viene eseguito.
La vulnerabilità è classificata come CWE-829 perché l'applicazione include funzionalità (tramite exec_globals) da una fonte non attendibile (la richiesta di rete) senza un'adeguata validazione, portando all'esecuzione di codice arbitrario.
Tutte le versioni di Langflow precedenti alla patch che implementa una corretta sanificazione di exec_globals nell'endpoint di validazione sono interessate. Le versioni specifiche interessate includono:
/api/v1/validate accetta exec_globals senza validazione/api/v1/validate con un payload exec_globals dannosoUtilizzare lo script exploit.py incluso:
python exploit.py --target 192.168.1.100 --port 7860 --command "id > /tmp/pwned"
exec_globals.Disclaimer: Queste informazioni sono fornite solo a scopo educativo e per test di sicurezza autorizzati. L'uso non autorizzato contro sistemi di cui non si possiede o non si ha il permesso esplicito di testare è illegale.