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-33067 — Modello Nuclei per il rilevamento di CVE-2026-33017, una vulnerabilità di esecuzione remota di codice non autenticata in Langflow ≤ 1.8.2. Esegue pre-controlli non distruttivi per distinguere le build vulnerabili da quelle corrette tramite l'analisi delle risposte HTTP. | Kitploit
Strumenti/GitHubGitHub/lopseg/cve-2026-33067
RicognizioneScanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHublopseg/cve-2026-33067

cve-2026-33067

Modello Nuclei per il rilevamento di CVE-2026-33017, una vulnerabilità di esecuzione remota di codice non autenticata in Langflow ≤ 1.8.2. Esegue pre-controlli non distruttivi per distinguere le build vulnerabili da quelle corrette tramite l'analisi delle risposte HTTP.

Vedi Repository
3 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 — Modello Nuclei per RCE non autenticata in Langflow

Severity CVSS CWE

Modello Nuclei che rileva CVE-2026-33017 — una vulnerabilità di esecuzione remota di codice non autenticata in Langflow ≤ 1.8.2 raggiungibile tramite l'endpoint pubblico di build dei flussi:

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

L'handler vulnerabile accetta un grafo di flusso data controllato dall'attaccante e passa data.nodes[].data.node.template.code.value direttamente a exec() di Python durante la build del grafo, senza sandbox. La correzione (≥ 1.9.0) rimuove il parametro data dalla firma dell'handler, quindi una build patchata rifiuta la stessa richiesta al livello di validazione di FastAPI con HTTP 422.


Come decide il template

Il template è non distruttivo. Invia un payload inerte contro un ID di flusso zero-UUID, quindi non può raggiungere exec() nemmeno su un host vulnerabile. Distingue l'handler vulnerabile da quello patchato esclusivamente tramite la firma della risposta HTTP.

FaseRichiestaCosa ti dice
1GET /api/v1/version

Routing per la fase 2:

Una conferma reale di RCE richiede comunque (a) un UUID di flusso PUBLIC reale sul target e (b) un callback out-of-band (DNS/HTTP). Questo passaggio è volutamente non incluso qui — questo template è il pre-check sicuro che decide se ha senso eseguire un exploit attivo.


Utilizzo

Host singolo:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com

Scansione di massa da una lista:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -l targets.txt -rl 20 -c 10

Con output di debug (vedi richieste/risposte grezze):

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com -debug-req -debug-resp

Valida il template localmente prima di eseguirlo:

root@kitploit:~
nuclei -validate -t CVE-2026-33017.yaml

Esempio di output

Target vulnerabile:

root@kitploit:~
[CVE-2026-33017] [http] [critical] https://target.example.com [vulnerable-flow-not-found] ["1.8.2","base"]

Target patchato — nessun finding emesso (la risposta 422 non corrisponde ad alcuna regola).


Ricerca di candidati

Query di discovery comuni per host Langflow (usale solo contro asset che sei autorizzato a testare):

  • Shodan: http.title:"Langflow"
  • FOFA: app="Langflow"
  • Google: intitle:"Langflow" inurl:"/flows"

Dettagli della vulnerabilità

  • CVE: CVE-2026-33017
  • CWE: CWE-94 (Controllo improprio della generazione di codice)
  • CVSS 3.1: 9.3 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Interessate: Langflow ≤ 1.8.2
  • Corretta in: Langflow ≥ 1.9.0
  • Vettore: rete, non autenticato, nessuna interazione con l'utente
  • Impatto: esecuzione remota di codice come utente del processo Langflow

Causa principale (in breve)

Nelle build vulnerabili, l'handler pubblico è dichiarato all'incirca come:

root@kitploit:~
@router.post("/build_public_tmp/{flow_id}/flow")
async def build_public_flow(flow_id: UUID, data: FlowDataRequest | None = None, ...):
    ...
    await verify_public_flow_and_get_user(flow_id, ...)
    ...
    # data.nodes[].data.node.template.code.value reaches exec() in the
    # Component build path

data è controllata dall'attaccante. L'handler patchato rimuove completamente il parametro e impone data=None; ecco perché una richiesta che include un campo data nel corpo viene respinta con 422 sulle build patchate.


Rimedio

  1. Aggiorna Langflow a ≥ 1.9.0.
  2. Se non puoi aggiornare immediatamente, blocca /api/v1/build_public_tmp/ sul reverse proxy.
  3. Imposta LANGFLOW_AUTO_LOGIN=False, configura le credenziali del superutente e ruota LANGFLOW_SECRET_KEY.
  4. Controlla i flussi esistenti — i flussi con access_type=PUBLIC sono quelli che un attaccante cercherebbe nell'URL.

Riferimenti

  • GitHub Advisory: https://github.com/advisories/GHSA-vwmf-pq79-vjvx
  • Articolo di SonicWall: https://www.sonicwall.com/pt-br/blog/langflow-ai-code-injection-to-rce-flaw
  • Sorgente dell'handler patchato: https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py

Note legali e divulgazione

Questo template è pubblicato solo per sicurezza difensiva e test autorizzati. Eseguirlo contro sistemi di cui non si è proprietari o per cui non si dispone di esplicita autorizzazione scritta è illegale nella maggior parte delle giurisdizioni e viola i termini di servizio della piattaforma.

Usando questo template accetti che:

  • Scannerizzerai solo asset di tua proprietà o per cui sei esplicitamente autorizzato a eseguire test (scope di bug bounty, contratto di pentest firmato, inventario interno degli asset).
  • L'autore non è responsabile per un uso improprio.
  • Il template è fornito così com'è, senza garanzia.

Autore

lopseg — https://github.com/lopseg

Pull request e issue sono benvenute.

Licenza

MIT

Scarica lo strumento
Conferma che il target è Langflow ed estrae la versione della build.
2POST /api/v1/build_public_tmp/00000000-0000-0000-0000-000000000000/flow con un corpo contenente il campo data e un template.code.value inerteDecisione di routing di seguito.
StatoIl corpo contieneVerdetto
404flow / publicVULNERABILE — l'handler ha accettato data, la ricerca è poi fallita perché l'UUID è finto.
200job_id / build / taskVULNERABILE — l'handler ha accettato data ed è entrato nel percorso di build.
5xxexec / Component / tracebackVULNERABILE — l'handler ha raggiunto il percorso di codice exec prima di fallire.
422Field required / extra / dataPATCHED — la firma dell'handler non accetta più data.