Issue
2025년 12월 08일

React와 Next.js의 취약점 발견?

  • 우연히 해당 내용이 있어 읽어보고 내용 정리 및 내 프로젝트의 버전을 체크해보았다.

해당 글의 내용을 정리해보자면

🚨 React Server Components의 치명적인 보안 취약점 (핵심 정리)

React Server Components(RSC)에서 인증되지 않은 원격 코드 실행(Remote Code Execution, RCE)이 가능한 치명적인 보안 취약점이 발견되었습니다.

1. 취약점 개요

  • 취약점 유형: 인증되지 않은 원격 코드 실행(Unauthenticated Remote Code Execution, RCE)
  • 발생 원인: React가 React Server Function 엔드포인트로 전송된 페이로드(payload)를 디코딩하는 방식에 결함이 있어, 악성 HTTP 요청이 서버에서 코드를 실행하도록 만들 수 있습니다.
  • 심각도: CVSS 10.0 (최고 등급의 치명적), CVE-2025-55182로 공개되었습니다.
  • 특징: 앱에서 React Server Function 엔드포인트를 명시적으로 구현하지 않았더라도, React Server Components를 지원하는 경우 이 취약점에 노출될 수 있습니다.

2. 영향 범위 및 즉각적인 조치 사항

📌 영향을 받는 패키지 및 버전

다음 패키지의 특정 버전에서 취약점이 발견되었습니다.

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

취약 버전: 19.0, 19.1.0, 19.1.1, 19.2.0

🛠️ 즉각적인 조치 (수정된 버전)

다음 버전으로 즉시 업그레이드해야 합니다.

  • 19.0.1
  • 19.1.2
  • 19.2.1

💻 영향을 받는 주요 프레임워크 및 번들러

RSC를 지원하는 다음 프레임워크 및 번들러를 사용하는 경우, 관련 패키지를 업데이트해야 합니다.

  • Next.js
  • React Router (불안정한 RSC API 사용 시)
  • Waku
  • @parcel/rsc
  • @vitejs/plugin-rsc
  • rwsdk

React

취약점이 React Server Components의 페이로드 디코딩 방식과 관련된 React 19 버전대 패키지에 있기 때문에, React 18을 포함한 이전 버전은 이 특정 취약점으로부터 안전하다고 판단할 수 있습니다.

Next.js

Next.js 15.0.x ~ 16.0.x 버전 라인과 Next.js 14의 특정 Canary 버전(14.3.0-canary.77 이상)만 언급하고 있습니다.

참고: Next.js 사용자의 경우, 해당 공지에서 제공된 패치 버전 (예: Next.js 15.0.5, 16.0.7 등)으로 업그레이드해야 합니다.


3. 영향을 받지 않는 경우

  • 앱의 React 코드가 서버를 사용하지 않는 경우.
  • 앱이 React Server Components를 지원하는 프레임워크, 번들러 또는 번들러 플러그인을 사용하지 않는 경우.


내 프로젝트에서는….?

실제로 내 포트폴리오 프로젝트의 React와 next버전을 살펴보았다.

// package.json "dependencies": { "next": "16.0.3", "react": "19.2.0", "react-dom": "19.2.0", }

실제로 내 프로젝트도 해당 취약점 범위에 포함되있는 형태였고, 현재 해당 버전의 배포시에 해당 에러를 통해 버전 변경을 유도하고 있었다.

💡Error: Vulnerable version of Next.js detected, please update immediately. Learn More: https://vercel.link/CVE-2025-66478

  • 따라서 문서에 따라 안전한 수정 버전으로 변경하여 다시 배포하니 정상 배포 동작 완료
// package.json "dependencies": { "next": "16.0.7", "react": "19.2.1", "react-dom": "19.2.1", }