
Proof-of-concept 스캐너 for CVE-2025-55182, React Server Components의 인증되지 않은 RCE 취약점. 배치 스캔, JSON/CSV 내보내기, 취약한 대상에 대한 인터랙티브 셸을 지원합니다.
CVE-2025-55182에 대한 개념 증명 스캐너로, React Server Components(RSC)의 중요한 인증되지 않은 원격 코드 실행(RCE) 취약점입니다.
2025년 12월 3일, React Server Components를 사용하는 React 19.x 및 Next.js 애플리케이션에 영향을 미치는 중요한 취약점이 공개되었습니다. 이 결함은 RSC "Flight" 프로토콜의 역직렬화 로직에 존재하며, 공격자가 조작된 HTTP 요청을 통해 서버에서 임의의 코드를 실행할 수 있게 합니다.
| 속성 | 값 |
|---|---|
| CVE | CVE-2025-55182 |
| CVSS | 심각 |
| Attack Vector | 네트워크 |
| Authentication | 없음 |
| Exploitation | 야생에서 적극적으로 악용됨 |
| 제품 | 취약한 버전 | 패치된 버전 |
|---|---|---|
| react-server-dom | 19.0.x, 19.1.x, 19.2.x | 19.0.1, 19.1.2, 19.2.1 |
| Next.js (App Router) | 14.3.0-canary.77+, 15.x, 16.x | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
go run ./cmd/main.go -t https://example.com
go run ./cmd/main.go -t https://example.com -shell
go run ./cmd/main.go -f targets.txt -c 20
go run ./cmd/main.go -f targets.txt -json results.json -csv results.csv
React2Shell Scanner v1.0.0
CVE-2025-55182 | React Server Components RCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] 취약 https://app.example.com/ 142ms
[-] 안전 https://api.example.com/ 203ms
[!] 오류 https://internal.example.com/ (시간 초과) 15000ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
스캔 완료
스캔한 대상: 3
취약: 1 (33%)
안전: 1
오류: 1
기간: 15.4s
평균 응답: 5115ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
취약 대상
1. https://app.example.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
해결 방법
패치된 버전으로 업그레이드:
Next.js:
15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
react-server-dom:
19.0.1, 19.1.2, 19.2.1
이 취약점은 RSC "Flight" 프로토콜이 직렬화된 페이로드를 처리하는 방식에 존재합니다. 특수하게 조작된 multipart form 데이터를 처리할 때 서버가 페이로드 구조를 제대로 검증하지 못하여 프로토타입 오염(prototype pollution)이 발생하고, 이로 인해 임의 코드 실행이 가능해집니다.
다음을 포함하는 POST 요청을 찾으십시오:
Next-Action 헤더__proto__ 참조가 포함된 Multipart form 데이터X-Action-Redirect 응답__proto__가 포함된 요청 차단Next-Action 헤더 패턴에 대한 알림내부 전용
이 도구는 승인된 보안 테스트 전용입니다. 소유하고 있거나 테스트할 명시적 권한이 있는 시스템에만 사용하십시오. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다.
내부 전용. 배포 금지.
| 플래그 | 설명 | 기본값 |
|---|
-t, -target | 단일 대상 URL | |
-f, -file | 대상 URL이 포함된 파일 | |
-c, -concurrency | 동시 스캐너 수 | 10 |
-timeout | HTTP 타임아웃(초) | 15 |
-json | 결과를 JSON 파일로 내보내기 | |
-csv | 결과를 CSV 파일로 내보내기 | |
-q, -quiet | 배너 및 진행 상황 숨기기 | false |
-s, -shell | 취약한 대상에서 대화형 셸 | false |