
Ricostruzione indipendente, validazione in laboratorio e PoC per CVE-2026-9198, la RCE non autenticata di Langflow (corretta nella 1.10.1)
Ricostruzione indipendente, validazione in laboratorio e divulgazione dell'esposizione per l'iniezione di codice in Langflow (CVE-2026-9198), un'esecuzione di codice da remoto non autenticata con CVSS 9.8 sulle distribuzioni predefinite di Langflow dalla 1.0.0 alla 1.10.0. Corretta nella 1.10.1 e aggiunta al catalogo Known Exploited Vulnerabilities della CISA il 2026-08-04.
Finestra di ricerca: 17-18 agosto 2026. Tutte le attività di sfruttamento sono state eseguite esclusivamente contro istanze di laboratorio di nostra proprietà.
Articolo web: https://riftweld.github.io/langflow-cve-2026-9198/
Questo non è il report originale della scoperta. CVE-2026-9198 è stata divulgata pubblicamente da IBM e CISA; questo repository documenta una ricostruzione indipendente della causa radice, la riproduzione in laboratorio e una campagna coordinata di notifica ai provider di hosting.
| Percorso | Descrizione |
|---|---|
WRITEUP.md | Articolo completo: causa radice, la catena, il differenziale di laboratorio, l'esposizione e la divulgazione tramite i provider |
LAB-VALIDATION.md | Log di laboratorio: riproduzione sulla 1.10.0 e differenziale con la 1.10.1 corretta |
poc/poc_takeover.py | PoC end-to-end di laboratorio (solo lab, modificare prima l'host di destinazione) |
poc/poc_transcript.md | Trascrizione della run del PoC contro i nostri container di laboratorio |
recon/shodan_langflow_recon.py | Enumerazione passiva dell'esposizione (API Shodan, nessun probing attivo) |
notifications/ | Copie delle otto email di notifica inviate ai desk abuse dei provider di hosting (tabelle per istanza omesse) |
GET /api/v1/auto_login sulle distribuzioni predefinite (LANGFLOW_AUTO_LOGIN=true)
restituiva un JWT superuser a lunga durata senza credenziali.POST /api/v1/validate/code eseguiva le definizioni di funzione inviate e
restituiva l'output dei comandi nella risposta HTTP: esecuzione di codice
completamente non autenticata.langflowai/langflow:1.10.0 in un laboratorio isolato; il controllo sulla 1.10.1 chiude
entrambe le parti (token a breve durata; sink di esecuzione vuoto).Solo in laboratorio. Avviare un container Langflow vulnerabile e puntare lo script su di esso:
docker run -d --name lf-lab -p 127.0.0.1:7860:7860 \
-e LANGFLOW_AUTO_LOGIN=true langflowai/langflow:1.10.0
python3 poc/poc_takeover.py --url http://127.0.0.1:7860 --cmd "id"
Non eseguire mai questo strumento contro sistemi di terze parti. I risultati sull'esposizione sono stati gestiti tramite i canali abuse dei provider di hosting; i record per singolo target non vengono pubblicati intenzionalmente.
| Data | Evento |
|---|---|
| 2026-06-23 | Rilascio di Langflow 1.10.1 (correzione) |
| 2026-07-02 | Bollettino IBM |
| 2026-07-06 | Primi rilevamenti dei sensori in the wild (pre-pubblicazione) |
| 2026-07-17 | Pubblicazione della CVE |
| 2026-07-29 | Merge del template nuclei pubblico |
| 2026-08-04 | Inserimento nella lista KEV della CISA (remediation entro il 08-07) |
| 2026-08-17/18 | Questa ricostruzione indipendente, validazione in laboratorio e notifiche ai provider |
Il codice è fornito così com'è per uso difensivo ed educativo.