
PoC e guida al rilevamento per la RCE critica non autenticata in IBM Langflow OSS, che copre il bypass del token auto_login e la valutazione Python non sicura sull'endpoint /validate/code.
Vulnerabilità critica di esecuzione remota di codice non autenticata che interessa IBM Langflow OSS.
La vulnerabilità deriva dalla combinazione di due debolezze:
/api/v1/auto_login può rilasciare un bearer token privilegiato SUPERUSER a un chiamante di rete non autenticato./api/v1/validate/code elabora codice Python controllato dall'attaccante in un contesto di esecuzione non sicuro.Se combinate, queste debolezze possono portare all'esecuzione di codice Python arbitrario con i privilegi del processo backend di Langflow.
La vulnerabilità ha un punteggio CVSS v3.1 di 9.8 (Critico) ed è classificata come CWE-94 — Controllo improprio della generazione di codice.
| Prodotto | Versioni vulnerabili | Versione corretta |
|---|---|---|
| IBM Langflow OSS | 1.0.0 – 1.10.0 | 1.10.1 |
IBM consiglia di aggiornare a Langflow OSS 1.10.1.
CVSS: 9.8 Critico
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated attacker
|
v
/api/v1/auto_login
|
| SUPERUSER bearer token
v
/api/v1/validate/code
|
| Unsafe Python evaluation
v
Remote Code Execution
|
v
Langflow backend process
Il problema di sicurezza importante non è semplicemente l'esistenza di uno dei due endpoint. L'impatto deriva dalla combinazione di una primitiva di bypass dell'autenticazione/rilascio di token con un meccanismo non sicuro di validazione del codice.
Lo sfruttamento riuscito può fornire a un attaccante l'esecuzione di codice nel contesto di sicurezza del backend di Langflow.
A seconda della distribuzione, ciò può esporre:
L'impatto pratico dipende quindi fortemente dai privilegi e dall'accesso di rete disponibili per il processo di Langflow.
Le seguenti richieste sono pensate per l'identificazione non distruttiva e non contengono un payload di esecuzione di codice.
GET / HTTP/1.1
Host: TARGET
Accept: */*
Connection: close
GET /docs HTTP/1.1
Host: TARGET
Accept: text/html,*/*
Connection: close
GET /api/v1/auto_login HTTP/1.1
Host: TARGET
Accept: application/json
Connection: close
Per i test difensivi, registra il codice di stato, le intestazioni e la struttura della risposta, invece di tentare di utilizzare eventuali credenziali restituite.
Un pattern di telemetria difensiva utile è:
/api/v1/auto_login
followed shortly by
/api/v1/validate/code
Una sorgente che effettua queste richieste senza il normale traffico frontend di Langflow attorno a esse merita particolare attenzione.
Non testare la vulnerabilità inviando Python arbitrario a /api/v1/validate/code contro un'istanza di produzione.
Un flusso di lavoro di verifica sicuro è:
1. Identify the Langflow version
2. Confirm whether it is <= 1.10.0
3. Review access logs for the affected endpoints
4. Check for unexpected SUPERUSER token issuance
5. Check process/application logs for suspicious Python execution
6. Upgrade to 1.10.1
7. Rotate potentially exposed credentials
8. Investigate the host if exploitation is suspected
Monitorare:
POST /api/v1/validate/code
GET /api/v1/auto_login
POST /api/v1/auto_login
Il comportamento particolarmente sospetto include:
/api/v1/auto_login200 OK contenenti un access_tokenauto_login immediatamente seguita da /api/v1/validate/codeAggiorna Langflow OSS a:
1.10.1 or later
IBM raccomanda specificamente di aggiornare alla versione 1.10.1.
Se si sospetta uno sfruttamento, l'applicazione della patch da sola non dovrebbe essere considerata sufficiente. Esaminare i log e la telemetria dell'host e ruotare i segreti che potrebbero essere stati accessibili al processo di Langflow.
CISA ha aggiunto CVE-2026-9198 al proprio catalogo Known Exploited Vulnerabilities il 4 agosto 2026.
Questo repository è destinato a ricerca sulla sicurezza autorizzata, analisi delle vulnerabilità, ingegneria del rilevamento e ambienti di laboratorio controllati.
| Metrica | Valore |
|---|
| Vettore di attacco | Rete |
| Complessità dell'attacco | Bassa |
| Privilegi richiesti | Nessuno |
| Interazione dell'utente | Nessuna |
| Riservatezza | Alta |
| Integrità | Alta |
| Disponibilità | Alta |
| Ambito | Invariato |