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
Strumenti/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPaper e RicercaApprendimento e FormazioneLab e Pratica
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

Laboratorio riproducibile per CVE-2026-33017, una RCE non autenticata in Langflow. Include un servizio vulnerabile containerizzato con Docker e un PoC a impatto minimo che dimostra l'esecuzione di codice tramite l'endpoint pubblico di build.

Vedi Repository
5 mesi 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 — Laboratorio RCE non autenticato in Langflow

Sintesi Esecutiva

CVE-2026-33017 è una vulnerabilità di Esecuzione Remota di Codice (RCE) non autenticata in Langflow in cui un endpoint di build pubblico accetta dati di flusso controllati dall'attaccante, consentendo l'esecuzione di codice di componenti personalizzati sul server.

In questo laboratorio, il flusso di validazione è:

  1. Ottenere un token di accesso tramite il flusso di auto-login
  2. Creare un nuovo flusso PUBLIC
  3. Inviare codice di componente controllato dall'attaccante all'endpoint di build pubblico
  4. Ricevere un job_id
  5. Interrogare il risultato tramite l'API degli eventi di build
  6. Leggere l'oggetto di prova direttamente dall'output del componente

La prova viene recuperata direttamente tramite il meccanismo degli eventi dell'API Langflow, rendendo il risultato osservabile attraverso l'interfaccia di sistema stessa.


Ambito di Questo Repository

Questo documento presenta un laboratorio solo-vulnerabilità.

Attualmente, docker compose contiene un solo servizio: vuln, perché questo progetto segue un approccio solo-artefatti-reali ed evita ambienti patchati che non si basano su un artefatto ufficiale corretto.


Comportamento Verificato in Questo Laboratorio

Il seguente comportamento è stato verificato in questo laboratorio:

  • Un'istanza Langflow vulnerabile è in esecuzione su http://localhost:7861
  • L'endpoint della versione restituisce 1.8.1
  • Un flusso pubblico può essere creato
  • build_public_tmp restituisce un job_id
  • Il PoC può continuare a interrogare gli eventi
  • L'oggetto di prova viene restituito tramite l'API
  • Il codice controllato dall'attaccante viene eseguito all'interno del runtime Langflow

Esempio di oggetto di prova:

root@kitploit:~
{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

Le prove chiave sono:

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

Le informazioni sopra mostrano che il codice controllato dall'attaccante è stato effettivamente eseguito lato server.


Struttura del Repository

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

Requisiti

  • Linux o macOS
  • Docker Desktop o Docker Engine
  • Docker Compose v2
  • Python 3

Panoramica dei Servizi

vuln

  • Istanza Langflow vulnerabile
  • Porta associata: 7861 -> 7860
  • Utilizzata per riprodurre CVE-2026-33017 su localhost

Come Funziona la Vulnerabilità

Questa vulnerabilità esiste perché l'endpoint di build pubblico di Langflow accetta definizioni di flusso fornite dall'utente, anche se l'endpoint è già progettato per flussi pubblici. Quando un attaccante invia una definizione di nodo contenente codice di componente personalizzato, il sistema passa quel codice nel percorso di build del flusso, che alla fine porta all'esecuzione di codice sul server.

Il PoC in questo progetto utilizza un componente personalizzato che restituisce un oggetto di prova nel suo output per dimostrare che il codice controllato dall'attaccante viene effettivamente eseguito.


Progettazione del PoC

Il PoC in questo progetto è progettato per essere a minimo danno e si concentra su una prova chiaramente osservabile tramite l'API. Il suo flusso di lavoro è il seguente:

  1. Attendere che Langflow sia pronto
  2. Chiamare l'endpoint di auto-login per ottenere un token
  3. Creare un flusso PUBLIC
  4. Inviare codice di componente personalizzato all'endpoint di build pubblico
  5. Ricevere un job_id
  6. Interrogare l'API degli eventi di build
  7. Analizzare l'oggetto di prova dal payload dell'evento

Questo PoC non copre:

  • Apertura di una shell
  • Connessione inversa
  • Persistenza
  • Estrazione di segreti
  • Utilizzo di una webshell

Esecuzione del Laboratorio

1) Avviare il servizio vulnerabile

root@kitploit:~
docker compose up -d --build

2) Verificare l'endpoint della versione

root@kitploit:~
curl -i http://localhost:7861/api/v1/version

3) Eseguire il PoC

root@kitploit:~
python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

Output Atteso

Quando il PoC ha successo, l'output apparirà così:

root@kitploit:~
[+] http://localhost:7861 pronto (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Prova osservata tramite l'endpoint degli eventi dell'API Langflow:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Comportamento vulnerabile osservato

Il file artifacts/vuln/events-<job_id>.ndjson memorizza i dati grezzi degli eventi per ulteriori debug.


Cosa Dimostra il PoC Attuale

Questo PoC dimostra che:

  • Un attaccante può invocare il flusso di build pubblico
  • Il codice controllato dall'attaccante viene eseguito sul server Langflow
  • Il contesto di esecuzione viene restituito tramite l'API
  • L'impatto reale è esecuzione di codice non autenticata

Questo PoC non è inteso a dimostrare persistenza o post-sfruttamento avanzato e mantiene l'impatto al livello minimo necessario per validare la vulnerabilità.


Impatto

Sulla base di questo laboratorio, l'impatto dimostrato è:

  • Un attaccante non autenticato può eseguire codice Python sul server Langflow
  • Un attaccante può accedere al contesto di runtime del processo
  • Un attaccante può eseguire comandi di sistema monouso
  • Un attaccante può accedere alla directory di lavoro e ai metadati di runtime

Perché Non C'è un Servizio Patchato

Questo repository non include un servizio patchato per scelta progettuale.

Il suo ambito è limitato alla riproduzione del comportamento vulnerabile su un artefatto upstream reale. Un lato patchato viene aggiunto solo quando è disponibile un artefatto ufficiale corretto chiaramente verificabile dal fornitore o dal progetto upstream.

Per questo motivo, questo repository evita deliberatamente:

  • la creazione di un'immagine locale per simulare una release corretta,
  • la modifica del sorgente dell'immagine per imitare il comportamento della patch, o
  • l'aggiunta di script di supporto che creerebbero l'apparenza di un confronto vulnerabile-versus-patchato senza un artefatto upstream patchato autentico.

Questo mantiene il laboratorio con un ambito ristretto e tecnicamente onesto. Piuttosto che presentare una configurazione affiancata artificiale, il repository si concentra su tre cose:

  • comportamento vulnerabile riproducibile,
  • una prova di concetto trasparente, e
  • documentazione che rimane allineata con gli artefatti upstream reali.

In pratica, questo rende il repository particolarmente adatto per:

  • riproduzione della vulnerabilità,
  • analisi tecnica e supporto alla stesura di report, e
  • uso in portfolio dove riproducibilità e credibilità contano più di un ambiente patchato sintetico.

Pulizia

root@kitploit:~
docker compose down -v

Note di Sicurezza

Questo laboratorio è progettato per test su localhost esclusivamente.

Requisiti di utilizzo:

  • Utilizzarlo solo nel proprio ambiente
  • Non modificare il PoC in una webshell o meccanismo di persistenza
  • Non includere token reali o segreti reali nel repository
  • Se in futuro verrà aggiunto un lato patchato, dovrà utilizzare esclusivamente un artefatto ufficiale corretto
Scarica lo strumento