
React Server Components (RSC) 프로젝트의 CVE-2025-55182 & CVE-2025-66478 취약점을 탐지하는 보안 스캐너
React Server Components(RSC)를 사용하는 React 및 Next.js 프로젝트에서 CVE-2025-55182 및 CVE-2025-66478 취약점을 탐지하는 종합 보안 스캐닝 도구입니다.
이 도구는 원격 코드 실행(RCE) 공격에 취약한 React, Next.js 및 관련 RSC 패키지의 취약한 버전을 프로젝트에서 스캔합니다. 이 취약점은 인증되지 않은 공격자가 서버에서 임의의 코드를 실행할 수 있도록 합니다.
⚠️ 중요 경고: 2025년 12월 기준, 클라우드 환경의 약 39% 에서 취약한 버전의 Next.js 또는 React 인스턴스가 발견되었습니다. React Server Components를 사용 중이라면 즉시 조치가 필요합니다.
node_modules에서 취약한 패키지 버전 스캔"use server" 지시문 찾기check.js를 다운로드하세요:git clone https://github.com/yourusername/check-react-rce-cve-2025-55182.git
cd /path/to/your/project
node /path/to/check.js
check.js를 프로젝트에 직접 복사한 후 실행할 수도 있습니다:
node check.js
===========================================================================
REACT RCE VULNERABILITY SCANNER (CVE-2025-55182)
===========================================================================
Scanning installed packages...
Starting Deep Codebase Scanning...
===========================================================================
AUDIT REPORT
===========================================================================
[CVE-2025-55182] React Vulnerability
---------------------------------------------------------------------------
react : 19.0.0 VULNERABLE (React 19.0.0 < 19.0.1)
react-server-dom-webpack : 19.0.0 VULNERABLE (19.0.0 < 19.0.1)
[CVE-2025-66478] Next.js Vulnerability
---------------------------------------------------------------------------
next : 15.0.3 VULNERABLE (v15.0.x < 15.0.5)
[Project Analysis]
---------------------------------------------------------------------------
Router Type : App Router (RSC-enabled)
Server Actions Usage : Detected (5 files)
===========================================================================
RISK CONCLUSION: CRITICAL (CVSS 10.0 - Remote Code Execution)
===========================================================================
⚠ ACTION REQUIRED:
Your project uses React Server Components with vulnerable packages.
This vulnerability allows unauthenticated remote code execution.
Vulnerable packages: react, next, react-server-dom-webpack
Run the following commands to patch:
> npm install react@latest react-dom@latest
> npm install next@latest
> npm update react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack
| 수준 | 설명 |
|---|---|
| 🔴 CRITICAL | 취약한 패키지 감지 + RSC 기능 사용 중. 즉시 조치 필요. |
| 🟡 MEDIUM | 취약한 패키지 감지되었으나 RSC가 활발히 감지되지 않음. 업데이트 권장. |
| 🟢 SAFE | 취약한 패키지 없음 또는 RSC 지원 이전 버전 사용. |
다음 구성은 이러한 취약점의 영향을 받지 않습니다:
심각도: CRITICAL (CVSS 10.0)
영향받는 패키지:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack취약점 유형: 안전하지 않은 역직렬화
설명:
React Server Components(RSC)에 필수적인 react-server 패키지에 심각한 원격 코드 실행(RCE) 취약점이 존재합니다. 이 결함은 RSC "Flight" 프로토콜 내의 안전하지 않은 역직렬화 취약점에서 비롯됩니다.
이 취약점은 인증되지 않은 공격자가 모든 Server Function 엔드포인트에 특수하게 조작된 HTTP 요청을 전송하여 서버에서 원격 코드 실행을 달성할 수 있도록 합니다. React Server Function 엔드포인트를 명시적으로 구현하지 않은 애플리케이션도 React Server Components를 지원하는 경우 취약할 수 있으며, 이는 기본 구성에 영향을 미칩니다.
공격 벡터:
영향:
참고 자료:
심각도: CRITICAL (CVSS 10.0)
영향받는 패키지: next
취약점 유형: 안전하지 않은 역직렬화 (React RSC에서 파생됨)
설명: Next.js의 심각한 원격 코드 실행 취약점은 App Router와 React Server Components를 사용하는 애플리케이션에 영향을 미칩니다. 이 취약점은 CVE-2025-55182의 하위 영향으로, Next.js가 React Flight 프로토콜 구현을 통해 결함을 상속받기 때문입니다.
이 취약점은 인증되지 않은 공격자가 RSC 페이로드의 안전하지 않은 처리를 악용하는 특수하게 조작된 HTTP 요청을 전송하여 영향을 받는 서버에서 임의의 코드를 실행할 수 있도록 합니다.
공격 벡터:
영향:
참고 자료:
React Flight 프로토콜 취약점은 React Server Components를 구현하는 모든 프레임워크나 번들러에 영향을 미칩니다. 프로젝트에서 다음 중 하나를 사용하는 경우 React 패키지가 패치되었는지 확인해야 합니다:
React Server Components를 사용하는 모든 애플리케이션은 잠재적으로 취약합니다. 핵심 취약점은 React의 RSC 구현에 존재하므로, 사용 중인 프레임워크와 관계없이 React 패키지(
react,react-dom,react-server-dom-*)를 패치된 버전으로 업데이트해야 합니다.
주요 클라우드 제공업체들은 이러한 취약점으로부터 보호하기 위해 Web Application Firewall(WAF) 규칙을 사전에 배포했습니다. 그러나 WAF 보호는 임시 조치이며 애플리케이션을 패치해야 할 필요성을 없애지 않습니다.
Cloudflare는 CVE-2025-55182에 대한 악용 시도를 자동으로 차단하는 새로운 WAF 규칙을 배포했습니다. React 애플리케이션 트래픽이 Cloudflare를 통해 프록시되는 모든 고객은 자동으로 보호됩니다.
보호 확인 방법:
| 기능 | 세부사항 |
|---|---|
| 상태 | ✅ 보호됨 |
| 규칙 세트 | (v1.24+) |
AWS는 CVE-2025-55182에 대한 업데이트된 규칙을 AWS WAF 관리형 규칙 세트의 기본 버전(1.24)에 통합했습니다.
보호 활성화 방법:
# AWS 콘솔에서 규칙 세트 버전 확인
# Security → WAF → Web ACLs → [Your ACL] → Rules
사용자 정의 규칙 옵션: 즉각적인 보호를 위해 악용 시도를 탐지하고 차단하는 사용자 정의 AWS WAF 규칙을 배포할 수 있습니다:
{
"Name": "BlockReactRCE",
"Priority": 0,
"Statement": {
"ByteMatchStatement": {
"SearchString": "rsc-payload-exploit-pattern",
"FieldToMatch": { "Body": {} },
"TextTransformations": [{ "Priority": 0, "Type": "NONE" }],
"PositionalConstraint": "CONTAINS"
}
},
"Action": { "Block": {} }
}
참고: 관리형 AWS 서비스는 일반적으로 영향을 받지 않지만, 자체 환경에서 취약한 React/Next.js 버전을 실행하는 애플리케이션은 즉시 업데이트해야 합니다.
| 기능 | 세부사항 |
|---|---|
| 상태 | ✅ 보호됨 |
| 규칙 세트 | Default Rule Set (DRS) 2.1 |
| 적용 범위 | Azure WAF 고객 |
| 조치 필요 |
최신 Default Rule Set (DRS) 2.1을 사용하는 Azure WAF는 이 취약점을 악용하려는 일부 시도를 탐지할 수 있습니다.
보호 활성화 방법:
사용자 정의 규칙 예시: 조직은 악용 패턴을 차단하기 위해 특별히 맞춤화된 사용자 정의 WAF 규칙을 만들 수 있습니다. Azure는 프로덕션 배포 전에 테스트 환경에서 사용자 정의 규칙을 검증할 것을 권장합니다.
| 기능 | 세부사항 |
|---|---|
| 상태 | ✅ 보호됨 |
| 서비스 | Cloud Armor |
| 적용 범위 | Cloud Armor 고객 |
| 조치 필요 | 사전 구성된 WAF 규칙 활성화 |
Google Cloud Armor는 사전 구성된 WAF 규칙을 통해 보호를 제공하며, 사용자 정의 보안 정책으로 구성할 수 있습니다.
보호 활성화 방법:
| 기능 | 세부사항 |
|---|---|
| 상태 | ✅ 보호됨 |
| 적용 범위 | 모든 Vercel 배포 |
| 조치 필요 | 여전히 Next.js를 패치된 버전으로 업데이트해야 함 |
Vercel은 호스팅된 애플리케이션을 보호하기 위해 플랫폼 수준의 완화 조치를 구현했습니다. 그러나 Vercel은 패치된 Next.js 버전으로 업데이트할 것을 강력히 권장합니다.
⚠️ WAF 보호는 임시 조치입니다. 모든 클라우드 제공업체는 다음을 강조합니다:
- WAF는 취약점을 해결하지 않습니다 - 알려진 악용 패턴만 차단합니다
- 공격자가 WAF를 우회할 수 있습니다 - 새로운 악용 변종이 탐지를 회피할 수 있습니다
- 패치는 필수입니다 - 즉시 수정된 버전으로 업데이트하세요
- 애플리케이션 재빌드 - 업그레이드 후 재빌드하여 패치된 종속성이 사용되도록 하세요
프로젝트 디렉토리에서 다음 명령어를 실행하세요:
# React 패키지 업데이트
npm install react@latest react-dom@latest
# Next.js 업데이트 (사용하는 경우)
npm install next@latest
# RSC 패키지 업데이트 (있는 경우)
npm update react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack
# 중요: 애플리케이션 재빌드
npm run build
업데이트 후 스캐너를 다시 실행하여 모든 취약점이 패치되었는지 확인하세요:
node check.js
예상 출력:
RISK CONCLUSION: SAFE
✓ Your system is safe from CVE-2025-55182 and CVE-2025-66478.
MIT License - 자세한 내용은 LICENSE를 참조하세요.
안전을 유지하세요! 🔐
| 패키지 | 설명 |
|---|
react | 코어 React 라이브러리 |
next | Next.js 프레임워크 |
react-server-dom-webpack | RSC Webpack 통합 |
react-server-dom-parcel | RSC Parcel 통합 |
react-server-dom-turbopack | RSC Turbopack 통합 |
| 상태 | 의미 |
|---|
VULNERABLE | 패키지 버전이 CVE의 영향을 받음 |
SAFE | 패키지가 패치된 버전으로 업데이트됨 |
SAFE_CLASSIC | 패키지 버전이 RSC 이전 (영향 없음) |
NOT INSTALLED | 프로젝트에서 패키지를 찾을 수 없음 |
UNKNOWN | 버전 상태를 확인할 수 없음 |
| 브랜치 |
|---|
| 취약한 버전 |
|---|
| 패치된 버전 |
|---|
| React 19.0.x | 19.0.0 | ≥ 19.0.1 |
| React 19.1.x | 19.1.0, 19.1.1 | ≥ 19.1.2 |
| React 19.2.x | 19.2.0 | ≥ 19.2.1 |
| React 18.x 이하 | — | 영향 없음 (RSC 미지원) |
| 브랜치 | 패치된 버전 |
|---|
| Next.js 16.0.x | ≥ 16.0.7 |
| Next.js 15.5.x | ≥ 15.5.7 |
| Next.js 15.4.x | ≥ 15.4.8 |
| Next.js 15.3.x | ≥ 15.3.6 |
| Next.js 15.2.x | ≥ 15.2.6 |
| Next.js 15.1.x | ≥ 15.1.9 |
| Next.js 15.0.x | ≥ 15.0.5 |
| Next.js 14.3.0-canary.77+ | ⚠️ 취약 (Flight Protocol이 포함된 canary) |
| Next.js 14.x (stable) | 영향 없음 |
| Next.js 13.x | 영향 없음 |
| 프레임워크/도구 | 상태 | 참고사항 |
|---|
| Next.js | ⚠️ 영향 있음 | RSC를 사용하는 주요 프레임워크. 패치된 버전으로 업데이트. |
| React Router | ⚠️ 영향 있음 | RSC 모드에서 React 패키지가 업데이트되었는지 확인. |
| Waku | ⚠️ 영향 있음 | 최소 RSC 프레임워크. 패치된 React 버전을 사용해야 함. |
| RedwoodJS (rwsdk) | ⚠️ 영향 있음 | rwsdk가 RSC를 사용함. React 패키지가 패치되었는지 확인. |
| Parcel | ⚠️ 영향 있음 | @parcel/rsc 사용 시 React 패키지 확인. |
| Vite | ⚠️ 영향 있음 | @vitejs/plugin-rsc 사용 시 React 패키지 확인. |
| Remix | ⚠️ 잠재적 영향 있음 | 실험적 RSC 기능 사용 시 React 패치 확인. |
| 기능 | 세부사항 |
|---|
| 상태 | ✅ 보호됨 |
| 적용 범위 | 모든 고객 (Free, Pro, Business, Enterprise) |
| 요구사항 | 트래픽이 Cloudflare WAF를 통해 프록시되어야 함 |
| 조치 필요 | Managed Rules가 활성화되어 있는지 확인 (Pro/Enterprise) |
| 참고 | Cloudflare Workers는 본질적으로 이 익스플로잇에 면역 |
AWSManagedRulesKnownBadInputsRuleSet| 적용 범위 | 관리형 규칙을 사용하는 AWS WAF 고객 |
| 조치 필요 | 규칙 세트 버전이 1.24 이상인지 확인 |
| DRS 2.1 사용 확인 또는 사용자 정의 규칙 생성 |
| 날짜 | 이벤트 |
|---|
| 2025년 12월 3일 | 보안 연구원에 의해 취약점 공개 |
| 2025년 12월 3일 | CVE-2025-55182 및 CVE-2025-66478 지정 |
| 2025년 12월 3일 | React 팀 보안 게시판 발행 |
| 2025년 12월 3일 | React 및 Next.js 팀 패치 릴리스 |
| 2025년 12월 3일 | 클라우드 제공업체 WAF 보호 배포 |
| 2025년 12월 3일 | 야생에서의 악용 사례 보고 없음 |