Illustrazione tecnica astratta su un campo grigio caldo pallido: un ampio pannello di configurazione bianco sporco con tenui righe di campo rigate si trova a sinistra del centro, e un piccolo gettone ciano rotondo a forma di toppa esce dal suo bordo superiore lungo una sottile linea ciano verso un blocco server piatto color ardesia a destra. Sotto il pannello, un campo scuro arrotondato contiene una coppia di sottili parentesi angolari ambra, e una seconda linea sottilissima ambra va da lì al bordo inferiore dello stesso blocco; un piccolo quadrato ambra segna la giunzione in cui i due percorsi si incontrano. Un secondo blocco server più tenue si trova dietro il primo. Geometria vettoriale piatta con ombre morbide e margini ampi; nessun testo, lettera, numero, persona o logo di organizzazione compare in alcun punto. Il logo OrcaRouter è composto nell'angolo in basso a destra di una striscia bianca sotto l'illustrazione.
AI Safety Incidents

CVE-2026-9198: Langflow coniava token di superutente per chiunque, per poi eseguire ciò che gli veniva inviato

Autore

Rowan Sterling

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

Il bollettino IBM per CVE-2026-9198 descrive una presa di controllo in due richieste di Langflow OSS: una chiamata all'endpoint di auto-login della piattaforma restituisce un token bearer da superutente a chiunque lo richieda, e una seconda chiamata invia codice Python all'endpoint di convalida del codice, che lo esegue. Il fornitore registra le due metà della catena sotto identificatori separati — CVE-2026-9103 per l'autenticazione mancante, CVE-2026-8481 per l'esecuzione — e valuta la combinazione a 9,8 su CVSS 3.1, raggiungibile tramite la rete senza privilegi e senza interazione dell'utente. Le distribuzioni predefinite sulle versioni da 1.0.0 a 1.10.0 sono interessate; il rimedio è la versione 1.10.1 e IBM non elenca alcun workaround. La Cybersecurity and Infrastructure Security Agency statunitense ha aggiunto il CVE al suo catalogo Known Exploited Vulnerabilities il 4 agosto 2026, con una scadenza federale per la correzione fissata al 7 agosto. Il record, i suoi tag di gravità e di danno, e le voci registrate attorno ad esso sono conservati in l'Orca AI Incident Archive, che elenca questo incidente insieme al resto della serie.

La catena, in tre bollettini IBM

IBM pubblica questa vulnerabilità come tre documenti anziché uno, ed è leggendoli insieme che il meccanismo diventa comprensibile. L'intera catena è CVE-2026-9198, un problema di iniezione di codice secondo CWE-94, con punteggio 9.8 e vettore AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — raggiungibile via rete, bassa complessità, nessun privilegio, nessuna interazione utente e impatto elevato su riservatezza, integrità e disponibilità. La sua prima metà, CVE-2026-9103, è un'autenticazione mancante per una funzione critica secondo CWE-306, anch'essa 9.8. La sua seconda metà, CVE-2026-8481, è di nuovo CWE-94 ma con punteggio 9.9: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, privilegi bassi anziché nessuno, e ambito modificato.

A dark HTML card titled 'Three identifiers, one chain', kicker 'IBM Langflow OSS, 1.0.0 to 1.10.0', subtitle 'Bulletin identifiers, CWEs and CVSS 3.1 base scores, taken from the three IBM support pages cited in the article'. Three rows, each naming a CVE at left: CVE-2026-9103, missing authentication in the auto-login endpoint, CWE-306, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that it issues a SUPERUSER bearer token valid for 365 days when AUTO_LOGIN is enabled, which is the default. CVE-2026-8481, remote code execution in the code-validation endpoint, CWE-94, scoring 9.9 with the metrics PR:L, UI:N, S:C, and a note that it passes submitted Python to exec and is scored with low privileges because the endpoint expects a session. CVE-2026-9198, the chain of the two filed as one vulnerability, CWE-94, scoring 9.8 with the metrics PR:N, UI:N, S:U, and a note that the no-privileges metric comes from the first half and the execution from the second. Two rules below read 'The execution half alone required a session. The missing authentication supplied one.' and 'Neither half is scored 9.8 with no privileges. Only the chain is.' A footer credits IBM as the CVSS source for all three and says the card was rendered by OrcaRouter with no vendor logos. The OrcaRouter logo is composited in the bottom-right corner.

Il 9,9 è la parte onesta dell'aritmetica. L'endpoint di convalida del codice non è mai stato aperto agli estranei di per sé — IBM lo descrive come una vulnerabilità che consentiva a "qualsiasi utente autenticato di eseguire comandi di sistema arbitrari con tutti i privilegi del processo server di Langflow". Ciò che rende la catena non autenticata è la prima metà: l'endpoint di accesso automatico, che secondo IBM "emette token bearer superutente di lunga durata senza richiedere autenticazione quando la configurazione AUTO_LOGIN è abilitata (abilitata per impostazione predefinita)". Il bollettino aggiunge che i token hanno una durata di 365 giorni, e registra un secondo percorso di esposizione che riceve meno attenzione — impostazioni predefinite permissive di condivisione delle risorse tra origini diverse che consentono origini wildcard con credenziali, che secondo IBM "potrebbero consentire il furto di token drive-by da siti web arbitrari".

La metà relativa all'esecuzione è quella su cui vale la pena soffermarsi. Il riepilogo di IBM afferma che il validatore «compilava ed eseguiva codice inviato dall'utente, comprese le valutazioni al momento della definizione della funzione, come argomenti predefiniti e decoratori», e che un attaccante poteva quindi introdurre di nascosto un'espressione eseguibile in un parametro predefinito o in un decoratore. Non è una metafora sul codice non sicuro: un decoratore viene valutato quando viene costruito il def che lo racchiude, quindi una richiesta il cui unico scopo dichiarato è controllare la sintassi di una funzione esegue comunque qualunque cosa vi sia allegata. L'avviso concatenato di IBM lo dice in una sola proposizione: convalida ed esecuzione erano la stessa operazione. La correzione registrata nel bollettino CVE-2026-8481 consisteva nel «rimuovere l'esecuzione di codice dal percorso di convalida ed eseguire solo controlli di compilazione».

A dark HTML card titled 'Two requests, two endpoints', kicker 'CVE-2026-9198, exploit chain', subtitle 'Paths as written in IBM bulletin 7278927; the chain needs no credentials, no user action and no reconnaissance'. Two panels joined by a cyan arrow. REQUEST 1 shows a POST to /api/v1/auto_login with the note that no credentials are supplied and none required and that the response carries a SUPERUSER bearer token with a 365-day lifetime, plus a smaller note that the CVE-2026-9103 bulletin writes this path as /api/v1/login/auto_login. REQUEST 2 shows a POST to /api/v1/validate/code with the token and a Python payload, calling exec with the privileges of the Langflow service process, and a note that the CVE-2026-8481 score is 9.9 with S:C and PR:L. A four-part strip below reads NO PRIVILEGES, vector PR:N; NO USER ACTION, vector UI:N; NO RECON NEEDED, only confirm it runs Langflow; and TWO HTTP CALLS, the whole chain. A closing panel headed 'Why validation was execution' quotes IBM's chained bulletin on default arguments and decorators evaluated at function-definition time, and states that a request whose stated job is to check syntax ran the attached code. A footer credits IBM bulletins 7278927 and 7278923 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Una piccola discrepanza vale la pena di essere registrata perché influisce sull'hunting. Il bollettino concatenato scrive l'endpoint del token come /api/v1/auto_login, e lo stesso fanno la Cloud Security Alliance e Field Effect; il bollettino separato di IBM per CVE-2026-9103 lo scrive come /api/v1/login/auto_login. Entrambi i documenti IBM descrivono lo stesso endpoint e nessuno dei due sbaglia riguardo al comportamento. Il percorso di esecuzione è scritto in modo identico ovunque: POST /api/v1/validate/code.

Da dove provengono le date

L'archivio data questo record al 6 agosto 2026. La voce nel catalogo di CISA, consultata il 30 ottobre 2026, registra l'aggiunta come 4 agosto 2026 e fissa la scadenza per la correzione al 7 agosto. La copertura circostante si colloca su entrambi i lati della data dell'archivio anziché su di essa: Field Effect ha pubblicato il 5 agosto, mentre cvetodo e il team nazionale di risposta alle emergenze informatiche della Thailandia hanno pubblicato entrambi il 7 agosto. Una voce in elenco, la scadenza che genera e gli articoli scritti al riguardo sono tre eventi distinti, quindi queste date non si contraddicono tra loro — ma il divario di due giorni tra il campo dell'archivio e quello di CISA è il motivo per consultare il catalogo quando il giorno esatto conta.

La divulgazione è più difficile da definire con precisione, e le fonti sono davvero in disaccordo. La pagina del bollettino IBM per la CVE concatenata riporta una data di pubblicazione iniziale del 2 luglio 2026 e una data di modifica del 17 agosto 2026. Field Effect data la divulgazione di IBM al 2 luglio. La nota di ricerca del Cloud Security Alliance del 18 agosto colloca la divulgazione, e insieme il rilascio di 1.10.1, al 17 luglio; cvetodo dice lo stesso. Quindici giorni separano le due letture e nessuno dei due documenti è scritto con negligenza, quindi questo articolo non sceglie tra di esse. Ciò che è stabilito in entrambi i casi è che la patch è stata pubblicata prima dell'inserimento nell'elenco KEV, e che 1.10.1 è il rilascio che l'ha inclusa.

A dark HTML card titled 'What happened, and when it was written down', kicker 'CVE-2026-9198, five dates', subtitle 'Read from the IBM bulletin metadata and the CISA KEV catalog entry on 30 October 2026, with the source disagreement labelled rather than resolved'. Five rows: 2 July 2026, 'IBM bulletin published', the initial publication date on IBM support page 7278927, with Field Effect giving the same day as the disclosure date; 17 July 2026, 'The other reading of disclosure', highlighted in amber, the date the Cloud Security Alliance and cvetodo give for disclosure and the 1.10.1 release, fifteen days apart from 2 July; 4 August 2026, 'Added to CISA KEV catalog', the date the catalog entry records, with known ransomware use recorded as Unknown and forensic triage required under BOD 26-04; 7 August 2026, 'Federal remediation deadline', also the publication date of the ThaiCERT advisory and of cvetodo's coverage; and 6 August 2026, 'The archive's date for this record', two days after the catalog date and between the 5 August and 7 August coverage. Two rules below read 'Still unresolved in sources: disclosure on 2 July (IBM, Field Effect) or 17 July (Cloud Security Alliance, cvetodo). No tie-break found.' and 'Not in dispute: the patch preceded the KEV listing, and 1.10.1 is the release that carried it.' A footer notes that the catalog entry was read on 30 October 2026 and says the card was rendered by OrcaRouter. The OrcaRouter logo is composited in the bottom-right corner.

Ciò che la voce della CISA afferma esattamente, nei suoi campi, è più limitato di quanto non dica il suo titolo. Il prodotto è elencato sotto il fornitore IBM con prodotto Langflow; la vulnerabilità è descritta come una che "consente ad attaccanti non autenticati di ottenere l'esecuzione remota completa di codice sulle distribuzioni Langflow predefinite"; l'uso noto in campagne ransomware è registrato come Sconosciuto; il triage forense è contrassegnato come obbligatorio ai sensi del BOD 26-04; e l'azione richiesta è applicare le mitigazioni in conformità con le istruzioni del fornitore, oppure interrompere l'uso del prodotto laddove le mitigazioni non siano disponibili.

Il record di sfruttamento

L'inserimento nell'elenco di CISA sostiene che la vulnerabilità sia stata sfruttata in attacchi reali. Le prove pubbliche alla base di tale affermazione sono più fragili di quanto il 9.8 suggerisca. Né IBM né CISA hanno identificato un attore di minaccia o pubblicato dettagli di una campagna osservata — Field Effect lo dichiara apertamente, e nulla nei tre bollettini IBM o nella voce KEV lo contraddice.

Ciò che esiste invece è telemetria del fornitore trasmessa di seconda mano. La nota della Cloud Security Alliance cita KEVIntel per l’affermazione che tentativi di sfruttamento sono stati registrati a partire da "intorno al 6 luglio 2026", settimane prima della divulgazione secondo il calcolo della stessa alleanza, e che a metà agosto i tentativi cumulativi erano cresciuti fino a raggiungere le centinaia, provenienti da diverse centinaia di indirizzi internet unici distribuiti in decine di paesi. Tali cifre provengono da una sola società di monitoraggio e non compaiono in nessun’altra fonte esaminata per questo articolo. Sono riportate qui, non corroborate.

La data di inizio merita un secondo sguardo. Se i tentativi sono davvero iniziati intorno al 6 luglio, si tratta di quattro giorni dopo la data del bollettino riportata dalla pagina di IBM, e undici giorni prima del 17 luglio indicato da altre due fonti. La telemetria pertanto non conferma né smentisce nessuna delle due date di divulgazione; la Cloud Security Alliance offre entrambe le spiegazioni senza scegliere, descrivendo l'attività iniziale come scoperta indipendente da parte di scanner opportunistici oppure come fuga di dettagli tecnici prima della divulgazione coordinata.

Il codice di exploit pubblico è la parte meglio documentata. Field Effect attribuisce la descrizione pubblica della catena a "un proof-of-concept pubblico pubblicato nel luglio 2026" presso il repository github.com/0xdak/CVE-2026-9198_exploit, e afferma che il codice dimostra l'ottenimento di un token di superutente tramite l'endpoint di auto-login e il suo successivo utilizzo contro l'endpoint di validazione. Field Effect non collega l'autore di quel repository ad alcuno sfruttamento osservato, e nemmeno questo articolo lo fa. Né alcuna fonte esaminata riporta un furto confermato di credenziali da un host sfruttato: la descrizione della raccolta di credenziali che generalmente accompagna le vulnerabilità di Langflow è una valutazione su ciò che un tale host contiene, trattata di seguito, non una conclusione su una vittima nominata in questo resoconto.

Accertato, riferito e non accertato

• Confermato. Che CVE-2026-9198 combina l'assenza di autenticazione nell'endpoint di accesso automatico con l'esecuzione di codice nell'endpoint di convalida del codice; che IBM valuta la catena 9,8 ai sensi di CWE-94 e le sue due parti 9,8 e 9,9; che le distribuzioni predefinite di Langflow OSS dalla 1.0.0 alla 1.10.0 sono interessate su Windows, macOS e Linux; che la 1.10.1 è la correzione e IBM non pubblica alcuna soluzione alternativa; e che CISA ha aggiunto la CVE al catalogo KEV con una scadenza federale del 7 agosto 2026. I tre bollettini IBM sono i documenti primari e concordano tra loro sul meccanismo.

• Ripetuto in modo indipendente. ThaiCERT ha riprodotto la stessa catena a due endpoint, lo stesso punteggio di 9,8, la stessa gamma di versioni interessate e la stessa correzione 1.10.1 nel suo bollettino del 7 agosto 2026, e ha aggiunto un controllo di rete che i bollettini IBM non includono: tenere l'interfaccia amministrativa di Langflow fuori da Internet pubblico e raggiungerla solo tramite VPN o un rigoroso elenco di indirizzi consentiti. Questa è una conferma di come è stato letto l'avviso, da parte di un ente governativo senza alcun interesse nella formulazione del fornitore — non una scoperta indipendente della vulnerabilità.

• Segnalato, non corroborato.Ogni cifra relativa allo sfruttamento: centinaia di tentativi, diverse centinaia di indirizzi, decine di paesi, a partire dal 6 luglio circa. Si tratta dei dati di una sola società di monitoraggio, riferiti da un organismo di ricerca. L'elenco della CISA conferma che lo sfruttamento è avvenuto senza quantificarlo, e nel materiale esaminato qui non compare alcuna seconda fonte di telemetria.

• Non stabilito. Nessuna vittima nominata e nessun attore nominato. Nessuna attribuzione a uno Stato o a un gruppo criminale. Nessuna cifra confermata su quante istanze di Langflow fossero raggiungibili da Internet — cvetodo ha riportato il 7 agosto che IBM non aveva risposto a domande sull'entità dello sfruttamento — e nessuna dichiarazione del fornitore che la quantifichi da allora. L'archivio assegna a questo record una confidenza A e non lo contrassegna come contestato, e nulla di quanto esaminato qui lo contesta; le lacune sono lacune nelle prove pubbliche, non nell'affermazione che la vulnerabilità esiste ed è stata utilizzata.

• Escluso deliberatamente.L'avviso di ThaiCERT descrive anche una scansione automatizzata guidata dall'IA nella stessa settimana, ma la collega a un prodotto diverso nello stesso lotto CISA, non a Langflow. Non costituisce prova su questo record e non viene usato qui come tale.

Cosa è cambiato dopo la quotazione

La soluzione fornita dal vendor è un incremento di versione e nient'altro. La tabella dei prodotti interessati di IBM elenca Langflow OSS dalla 1.0.0 alla 1.10.0, indica la 1.10.1 come correzione e inserisce "Nessuna" nel campo delle soluzioni alternative — in tutti e tre i bollettini. Il bollettino CVE-2026-8481 descrive la modifica: il validatore ha smesso di eseguire e ha iniziato a compilare. Il bollettino CVE-2026-9103, che riguarda la parte relativa all'accesso automatico, non specifica la propria correzione con lo stesso livello di dettaglio, e nessun documento IBM esaminato qui data la release 1.10.1.

Le indicazioni di tutti gli altri vanno oltre quelle del fornitore. La Cloud Security Alliance raccomanda di eseguire l'aggiornamento e poi verificare a runtime che l'endpoint di auto-login non rilasci più token a chiamanti non autenticati, invece di fidarsi della stringa di versione — la ragione dichiarata è che le precedenti patch di Langflow sono state distribuite con correzioni incomplete. Raccomanda inoltre di impostare esplicitamente su false l'impostazione di ambiente LANGFLOW_AUTO_LOGIN, affinché la piattaforma richieda credenziali reali invece di generarle, e di considerare compromessa qualsiasi istanza esposta a Internet da inizio luglio, in attesa di un esame dei log, con rotazione delle credenziali per tutto ciò a cui l'istanza poteva accedere: chiavi dei provider di modelli, credenziali del database e chiavi dei servizi cloud. ThaiCERT aggiunge la parte di rete — nessuna interfaccia amministrativa su Internet pubblico, solo VPN o lista di autorizzati. Entrambe sono raccomandazioni dei ricercatori. IBM non ne pubblica nessuna.

Una riga di attribuzione è agli atti. Il riconoscimento di IBM attribuisce il report a Harish Kolla, handle GitHub Har1sh-k. La Cloud Security Alliance, nella sua nota del 18 agosto, colloca CVE-2026-9198 come la quarta distinta vulnerabilità di Langflow non autenticata o con bypass dell'autorizzazione a raggiungere il catalogo della CISA in circa cinque mesi, citando i tre identificatori precedenti, e la sua lettura è che lo schema rifletta una correzione ripetuta e frammentaria di un unico modello di autenticazione ed esecuzione di codice, anziché difetti non correlati. Tale inquadramento è la valutazione dell'alleanza, offerta in una nota di ricerca; non è una constatazione di un revisore indipendente, e nessuna fonte esaminata qui registra una risposta pubblica dei manutentori al riguardo.

Cosa l'inclusione nell'elenco KEV chiarisce e cosa no

Il catalogo della CISA è un’asserzione di sfruttamento osservato, non un rapporto su un incidente, e questa voce si attiene a tale forma. Dice che la falla è stata usata; non dice contro chi, da chi, né con quale frequenza. L’uso di ransomware è registrato come Sconosciuto. Nulla è quantificato. Ciò che l’elenco stabilisce è l’unica domanda che un punteggio di gravità non può risolvere: se la falla sia passata da un proof of concept funzionante a un uso reale. Per le organizzazioni fuori dalla portata del BOD 26-04 — cioè la maggior parte del mondo — la scadenza del 7 agosto non comporta alcun obbligo, e il fatto che vi sta dietro ha lo stesso peso che avrebbe avuto con un obbligo.

La Cloud Security Alliance trae la conclusione operativa dalla stessa voce: che un'inserzione nel catalogo KEV è un segnale affidabile che lo sfruttamento ha superato la fase di proof-of-concept, e che per questa vulnerabilità è arrivato circa un mese dopo i primi tentativi registrati. Chiunque abbia atteso il catalogo prima di fare triage, secondo questa lettura, stava già rispondendo a un incidente anziché prevenirlo. Se ciò descriva una particolare installazione è una questione per i suoi log — la coppia di endpoint da cercare è quella documentata da IBM, e il record non nomina alcuna vittima su cui verificare la risposta.