Gli attaccanti puntano alla RCE di Langflow CVE-2026-105740 mentre l'attività sugli honeypot accelera

Secondo dati honeypot Previdian, attaccanti tentano di sfruttare command injection autenticata in Langflow MCP per eseguire comandi di sistema.

Aggiungi CyberWorldOpsalle tue fonti preferite su Google
Gli attaccanti puntano alla RCE di Langflow CVE-2026-105740 mentre l'attività sugli honeypot accelera
Vulnerabilità

Immagine illustrativa generata con AI

Secondo un'analisi basata sui dati degli honeypot di Previdian, gli attaccanti stanno tentando di sfruttare una falla critica di command injection in Langflow, una piattaforma open source per costruire applicazioni di intelligenza artificiale e flussi di lavoro agentici.

L'attività è concentrata su CVE-2026-105740, una vulnerabilità con CVSS 9,9 che consente a qualsiasi utente autenticato di Langflow, anche a un utente non amministratore, di eseguire comandi del sistema operativo con i privilegi del processo Langflow. Sono interessate le versioni precedenti alla 1.9.0; Langflow ha corretto il problema nella 1.9.0.

Secondo The Hacker News, Previdian ha registrato 1.423 tentativi di sfruttamento sui propri sensori a partire dal 19 settembre 2026. Questi tentativi provenivano da 27 indirizzi IP di origine unici, associati a 15 Paesi. I conteggi rappresentano attività rilevata dagli honeypot, non compromissioni riuscite né vittime distinte.

L'attività è aumentata l'11 ottobre 2026, quando i sensori hanno registrato 333 tentativi. Altri 66 tentativi erano stati osservati il 15 ottobre 2026, alla data di pubblicazione del report.

I comandi MCP controllati dall'utente raggiungono bash

L'avviso di sicurezza di Langflow, pubblicato il 10 settembre 2026, riconduce CVE-2026-105740 alla configurazione dei server Model Context Protocol che usano il trasporto stdio.

Un utente autenticato può inviare un valore command arbitrario tramite:

POST /api/v2/mcp/servers/{server_name}

Langflow passa quella stringa a bash -c "exec {command}" senza una allowlist, una sandbox o una validazione significativa dei comandi. Il controllo disponibile verifica la presenza di un'installazione di Node.js solo quando il comando contiene npx; non limita i percorsi degli eseguibili, i caratteri della shell né i programmi consentiti.

L'esecuzione viene attivata quando Langflow recupera l'elenco dei server tramite:

GET /api/v2/mcp/servers?action_count=true

La configurazione è salvata nelle impostazioni del progetto e può essere eseguita di nuovo ogni volta che viene caricato l'elenco dei server. Langflow ha inoltre affermato che queste voci MCP non sono visibili durante la normale revisione dei flussi allo stesso modo del codice dei componenti personalizzati.

La stessa configurazione accetta un dizionario env controllato dall'utente, che viene unito all'ambiente del sottoprocesso. Su Linux questo apre ulteriori percorsi di attacco, come la modifica di PATH o l'iniezione di LD_PRELOAD.

Uno sfruttamento riuscito può esporre i segreti accessibili al processo Langflow, alterare i dati dell'applicazione, stabilire un'esecuzione persistente di comandi e potenzialmente favorire lo spostamento verso altri sistemi raggiungibili.

La sequenza osservata sugli honeypot richiedeva credenziali valide

Secondo Ryan Dewhurst, CEO di Previdian, gli operatori osservati hanno prima verificato la versione di Langflow e poi richiesto /api/v1/auto_login. Sull'honeypot quell'endpoint ha restituito HTTP 403, perché il login automatico era disabilitato.

Gli attaccanti si sono poi autenticati con un nome utente e una password comuni, hanno ottenuto un bearer token e lo hanno usato per raggiungere l'endpoint vulnerabile di configurazione MCP. In questa sequenza osservata, lo sfruttamento non ha aggirato l'autenticazione: l'accesso è stato ottenuto tramite credenziali funzionanti dopo il fallimento del login automatico.

I payload catturati tentavano di:

  • raccogliere variabili d'ambiente e impostazioni di Langflow, incluse LANGFLOW_SECRET_KEY e LANGFLOW_SUPERUSER_PASSWORD;
  • trasmettere dati a 146.70.211[.]112 sulla porta 18764;
  • eseguire comandi Docker destinati a raggiungere il filesystem dell'host e a leggere /etc/passwd;
  • verificare l'esecuzione di comandi con utility come id e whoami.

Questi payload sono stati raccolti dagli honeypot e mostrano l'intento degli attaccanti. Non dimostrano che sistemi di produzione siano stati compromessi.

Una falla MCP correlata alza il livello di patch richiesto

Gli amministratori dovrebbero tenere conto anche di CVE-2026-105697, un'altra vulnerabilità di command injection con CVSS 9,9 che interessa il trasporto stdio MCP di Langflow prima della versione 1.10.3.

Anche questa vulnerabilità permette agli utenti di inserire comandi arbitrari in una configurazione di server MCP. I comandi vengono eseguiti quando Langflow elenca i server, carica gli strumenti o esegue un flusso associato. Con l'impostazione predefinita LANGFLOW_AUTO_LOGIN=true, un'istanza esposta può emettere un token tramite GET /api/v1/auto_login senza credenziali. Quando il login automatico è disabilitato, un utente autenticato non amministratore può comunque sfruttare la falla.

CVE-2026-105697 è risolta in:

  • Langflow 1.10.3
  • langflow-base 0.10.3
  • lfx 1.10.3

CVE-2026-105740 è stata corretta in Langflow 1.9.0, ma quella release non risolve il requisito di patch successivo documentato per CVE-2026-105697. Chi valuta l'esposizione MCP dovrebbe quindi verificare le versioni installate di Langflow e dei pacchetti correlati, anziché considerare la 1.9.0 una risoluzione completa per questa classe di vulnerabilità.

Un unico IP di origine collegato ad altre sonde su Langflow e Flowise

I dati di GreyNoise citati da The Hacker News associano 192.255.229[.]92 a una quota consistente dell'attività osservata, inclusi tentativi di estrazione di variabili d'ambiente e attacchi brute force generici. Lo stesso indirizzo risulta collegato anche a tentativi che coinvolgono altre vulnerabilità:

  • CVE-2026-9198, una catena RCE di Langflow senza autenticazione che interessa le versioni da 1.0.0 a 1.10.0 e corretta nella 1.10.1;
  • CVE-2026-55255, una falla di autorizzazione che richiede autenticazione, presente prima della 1.9.1, che consente di eseguire il flusso di un altro utente fornendone l'ID;
  • CVE-2026-0768, una code injection senza autenticazione nell'endpoint di validazione di Langflow;
  • CVE-2026-69255, una vulnerabilità di injection nel CSVAgent di Flowise che interessa flowise e flowise-components fino alla 3.1.2 compresa.

Il collegamento mostra attività provenienti dallo stesso indirizzo di origine, ma non stabilisce che ogni tentativo appartenesse a un'unica campagna o a un unico operatore.

Due di queste falle di Langflow sono nel catalogo delle vulnerabilità note sfruttate (Known Exploited Vulnerabilities) della CISA. CVE-2026-55255 è stata aggiunta il 7 luglio 2026, con una scadenza federale per la risoluzione fissata al 10 luglio 2026. CVE-2026-9198 è stata aggiunta il 4 agosto 2026, con scadenza al 7 agosto 2026.

Per entrambe, la CISA richiede alle agenzie di applicare le mitigazioni del fornitore in conformità con la BOD 26-04 e con i suoi Forensics Triage Requirements. Per i servizi cloud, le agenzie devono seguire le indicazioni applicabili della BOD 26-04 oppure interrompere l'uso se le mitigazioni non sono disponibili.

Anche i sistemi Flowise richiedono un aggiornamento

CVE-2026-69255 nasce perché il componente CSVAgent.ts di Flowise inserisce direttamente nel codice Python dati derivati da CSV controllati dall'attaccante, prima di eseguirlo con Pyodide. La validazione applicata successivamente al codice generato dall'LLM non protegge questo blocco iniziale.

Un attaccante autenticato può uscire dalla stringa generata e usare il bridge JavaScript di Pyodide per raggiungere le funzionalità di Node.js, arrivando all'esecuzione di comandi di sistema come root all'interno del container Flowise.

NVD assegna alla falla un CVSS 8,8. L'avviso GitHub di Flowise, pubblicato il 29 luglio 2026, presenta calcoli di gravità diversi: CVSS 9,9 secondo la versione 3.1 e 9,2 secondo la versione 4.0. Il vettore v4 dell'avviso indica l'assenza di privilegi, mentre la descrizione tecnica fa riferimento a un attaccante autenticato.

Entrambi i pacchetti npm interessati sono corretti nella versione 3.1.3. Come opzione di correzione « Best », l'avviso raccomanda di passare i dati base64 a Pyodide tramite pyodide.globals.set('base64_string', base64String), invece di usare l'interpolazione di stringhe. Le altre opzioni sono validare il set di caratteri base64 o effettuare l'escape dei caratteri speciali prima dell'interpolazione.

Cosa devono fare gli amministratori di Langflow

Gli operatori di Langflow dovrebbero inventariare le istanze esposte e passare a versioni che correggano tutte le falle applicabili. Come minimo, le correzioni documentate sono:

Vulnerabilità Versioni interessate Versione corretta
CVE-2026-105740 Prima di Langflow 1.9.0 Langflow 1.9.0
CVE-2026-105697 Prima di Langflow 1.10.3 Langflow 1.10.3, langflow-base 0.10.3, lfx 1.10.3
CVE-2026-9198 Da Langflow 1.0.0 a 1.10.0 Langflow 1.10.1
CVE-2026-55255 Prima di Langflow 1.9.1 Langflow 1.9.1

Quando non è possibile applicare subito le patch, gli amministratori dovrebbero impostare LANGFLOW_AUTO_LOGIN=false, evitare di esporre Langflow direttamente a reti non attendibili e limitare gli account a utenti fidati con password robuste e uniche.

I difensori dovrebbero esaminare i log di autenticazione, le richieste che coinvolgono /api/v1/auto_login e l'attività rivolta a /api/v2/mcp/servers/. Vale la pena controllare anche le configurazioni dei server MCP salvate, perché una voce malevola può essere eseguita più volte quando Langflow carica l'elenco dei server. Le connessioni verso 146.70.211[.]112:18764 e l'attività associata a 192.255.229[.]92 possono offrire spunti investigativi utili, ma vanno valutate nel contesto e non considerate da sole una prova di compromissione.

Leggi anche

Fonti

Questo articolo è una rielaborazione originale basata sulle fonti seguenti.

CVE trattate in questo articolo

Torna alla home

Ultime notizie di cybersecurity

Tutte le notizie di cybersecurity →