[React] React Server Components 심각한 보안 취약점 (CVE-2025-55182)
🚨 React Server Components 심각한 보안 취약점 발견
2025년 12월 3일, React 팀이 React Server Components에서 인증되지 않은 원격 코드 실행(RCE) 취약점을 공개했습니다. 이 취약점은 CVE-2025-55182로 지정되었으며, CVSS 10.0 (최고 위험도)으로 평가되었습니다.
취약점 개요
이 취약점은 React Server Functions의 페이로드 역직렬화 과정에서 발생합니다. 공격자가 악의적인 HTTP 요청을 Server Function 엔드포인트로 전송하면, React가 이를 역직렬화하는 과정에서 서버에서 원격 코드 실행이 가능해집니다.
⚠️ 중요: React Server Function 엔드포인트를 구현하지 않은 앱이라도, React Server Components를 지원하는 경우 취약할 수 있습니다.
영향받는 버전
다음 패키지의 특정 버전에서 취약점이 발견되었습니다:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
취약한 버전:
- 19.0.0
- 19.1.0
- 19.1.1
- 19.2.0
수정된 버전:
- 19.0.1
- 19.1.2
- 19.2.1
영향받는 프레임워크 및 번들러
다음 React 프레임워크와 번들러가 취약한 React 패키지에 의존하거나 포함하고 있습니다:
- Next.js
- React Router
- Waku
- @parcel/rsc
- @vitejs/plugin-rsc
- rwsdk (Redwood SDK)
즉시 조치 필요
이 취약점은 즉시 업데이트가 필요합니다. 호스팅 제공업체들이 임시 완화 조치를 적용했지만, 이를 의존하지 말고 반드시 최신 패치 버전으로 업데이트해야 합니다.
📦 업데이트 방법
Next.js
Next.js를 사용하는 경우, 현재 사용 중인 릴리스 라인의 최신 패치 버전으로 업데이트하세요:
bash# Next.js 15.0.x npm install next@15.0.5 # Next.js 15.1.x npm install next@15.1.9 # Next.js 15.2.x npm install next@15.2.6 # Next.js 15.3.x npm install next@15.3.6 # Next.js 15.4.x npm install next@15.4.8 # Next.js 15.5.x npm install next@15.5.7 # Next.js 16.0.x (현재 권장) npm install next@16.0.7
Next.js 14.3.0-canary.77 이상의 canary 버전을 사용 중이라면, 최신 안정 버전인 14.x로 다운그레이드하세요:
bashnpm install next@14
React 및 React DOM
React와 React DOM을 최신 버전으로 업데이트하세요:
bashnpm install react@19.2.1 react-dom@19.2.1
또는 pnpm을 사용하는 경우:
bashpnpm update react@19.2.1 react-dom@19.2.1
React Server Components 관련 패키지
프로젝트에서 직접 사용하는 경우 다음 패키지들도 업데이트하세요:
bash# react-server-dom-webpack npm install react-server-dom-webpack@latest # react-server-dom-parcel npm install react-server-dom-parcel@latest # react-server-dom-turbopack npm install react-server-dom-turbopack@latest
기타 프레임워크
React Router
React Router의 불안정한 RSC API를 사용하는 경우:
bashnpm install react@latest react-dom@latest npm install react-server-dom-parcel@latest npm install react-server-dom-webpack@latest npm install @vitejs/plugin-rsc@latest
Waku
bashnpm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest
@vitejs/plugin-rsc
bashnpm install react@latest react-dom@latest @vitejs/plugin-rsc@latest
🔍 취약점이 적용되지 않는 경우
다음 조건에 해당하는 경우 이 취약점의 영향을 받지 않습니다:
- 서버를 사용하지 않는 React 앱: 클라이언트 사이드만 사용하는 경우
- React Server Components를 지원하지 않는 프레임워크/번들러 사용: React Server Components 기능을 사용하지 않는 경우
📅 타임라인
- 2025년 11월 29일: Lachlan Davidson이 Meta Bug Bounty를 통해 보안 취약점 신고
- 2025년 11월 30일: Meta 보안 연구진이 확인하고 React 팀과 함께 수정 작업 시작
- 2025년 12월 1일: 수정 사항 생성 및 호스팅 제공업체 및 오픈소스 프로젝트와 협력하여 수정 사항 검증 및 완화 조치 구현
- 2025년 12월 3일: npm에 수정 사항 게시 및 CVE-2025-55182로 공개 공개
💡 보안 모범 사례
이러한 취약점을 예방하기 위해 다음 사항을 준수하세요:
- 정기적인 의존성 업데이트: 보안 패치가 발표되면 즉시 업데이트
- 보안 알림 구독: React, Next.js 등 사용 중인 프레임워크의 보안 알림 구독
- 의존성 취약점 스캔:
npm audit또는pnpm audit을 정기적으로 실행 - 최소 권한 원칙: Server Functions에 적절한 인증 및 권한 검사 구현
📚 참고 자료
- React 공식 블로그 - Critical Security Vulnerability in React Server Components
- CVE-2025-55182
- Next.js Changelog
🎯 결론
React Server Components의 심각한 보안 취약점이 발견되었습니다. 즉시 최신 패치 버전으로 업데이트하여 보안 위협으로부터 애플리케이션을 보호하세요. 특히 프로덕션 환경에서는 가능한 한 빨리 업데이트를 적용하는 것이 중요합니다.
업데이트 날짜: 2025년 12월 3일
작성자: 토리스
카테고리: React, Security