[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로 다운그레이드하세요:

bash
npm install next@14

React 및 React DOM

React와 React DOM을 최신 버전으로 업데이트하세요:

bash
npm install react@19.2.1 react-dom@19.2.1

또는 pnpm을 사용하는 경우:

bash
pnpm 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를 사용하는 경우:

bash
npm 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

bash
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest

@vitejs/plugin-rsc

bash
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

🔍 취약점이 적용되지 않는 경우

다음 조건에 해당하는 경우 이 취약점의 영향을 받지 않습니다:

  1. 서버를 사용하지 않는 React 앱: 클라이언트 사이드만 사용하는 경우
  2. 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로 공개 공개

💡 보안 모범 사례

이러한 취약점을 예방하기 위해 다음 사항을 준수하세요:

  1. 정기적인 의존성 업데이트: 보안 패치가 발표되면 즉시 업데이트
  2. 보안 알림 구독: React, Next.js 등 사용 중인 프레임워크의 보안 알림 구독
  3. 의존성 취약점 스캔: npm audit 또는 pnpm audit을 정기적으로 실행
  4. 최소 권한 원칙: Server Functions에 적절한 인증 및 권한 검사 구현

📚 참고 자료

🎯 결론

React Server Components의 심각한 보안 취약점이 발견되었습니다. 즉시 최신 패치 버전으로 업데이트하여 보안 위협으로부터 애플리케이션을 보호하세요. 특히 프로덕션 환경에서는 가능한 한 빨리 업데이트를 적용하는 것이 중요합니다.


업데이트 날짜: 2025년 12월 3일
작성자: 토리스
카테고리: React, Security