Langflow – la piattaforma open-source che consente agli sviluppatori di combinare prompt LLM, fonti di dati e codice Python personalizzato – presenta una falla critica che permette a chiunque di eseguire codice Python arbitrario su un server vulnerabile. La CVE-2026-33017, con un punteggio di 9.8 sulla scala CVSS, colpisce ogni versione precedente alla 1.9.0 e può essere attivata senza autenticazione, costringendo gli operatori ad aggiornare o a disattivare la funzione “public flow”.

Cosa fa il bug

L'endpoint public-flow di Langflow era destinato a chatbot in stile demo che chiunque può provare senza effettuare l'accesso. L'endpoint accetta un parametro data nel corpo della richiesta, assume che il payload contenga una definizione di flusso sicura e poi passa il contenuto direttamente alla funzione integrata exec() di Python. exec() valuta la stringa come codice e lo esegue con gli stessi privilegi del processo Langflow.

Un attaccante ha solo bisogno dell'ID del public flow – un valore spesso mostrato negli URL condivisi – per creare una richiesta che sostituisca la definizione del flusso con una malevola. Quando il server elabora la richiesta, il codice Python iniettato viene eseguito immediatamente, conferendo all'attaccante il pieno controllo sul sistema host.

Come è passata inosservata la vulnerabilità

Nelle versioni precedenti, il percorso del codice che carica un flusso dal database veniva bypassato quando era presente un campo data. Invece di sanificare o validare il payload, il server si fidava del chiamante ed lo eseguiva letteralmente. Poiché l'endpoint è raggiungibile senza alcun login, la superficie di attacco è l'internet pubblico per qualsiasi istanza di Langflow che abbia i public flows abilitati.

Chi è a rischio

Dato il punteggio di gravità, la vulnerabilità è considerata “critica”.

Passaggi immediati di mitigazione

  1. Aggiornare a Langflow 1.9.0 – questa è l'unica correzione verificata.
  2. Disabilitare la funzione public flow se non è necessario l'accesso anonimo.
  3. Disattivare AUTO_LOGIN – questo interrompe la creazione automatica di sessioni per le richieste non autenticate.
  4. Posizionare l'API dietro un firewall o un reverse proxy per limitare l'accesso a intervalli di IP attendibili.
  5. Implementare un Web Application Firewall (WAF) che blocchi le richieste all'endpoint build_public_tmp contenenti un parametro data.

Perché la correzione è importante

La vulnerabilità sfrutta un errore di progettazione fondamentale: fidarsi del codice fornito dall'utente in un contesto che viene eseguito con privilegi elevati. Rimuovendo tale fiducia e imponendo una gestione degli input più rigorosa, Langflow 1.9.0 ripristina la barriera tra gli utenti delle demo pubbliche e il server sottostante.

Cosa monitorare in seguito

  • Risposta della community – monitorare il repository di Langflow per patch o avvisi successivi.

In sintesi: Qualsiasi deployment di Langflow che esponga l'endpoint public-flow deve essere patchato oggi stesso. Finché non viene eseguita la versione 1.9.0, disattivare la funzione e barricare il servizio dietro controlli di rete. Il costo di una violazione supera di gran lunga lo sforzo di un rapido aggiornamento.