[Critical Issue] React Server Components (RSC) 관련 치명적 보안 취약점 조치법

2025. 12. 12. 19:56·개발 일상

상황

최근 기술 트렌드를 살펴 보다가 엄청난 보안 이슈를 발견했다. React 19 버전의 Server Components에서
원격 코드 실행(RCE) 취약점이 발견되어 CVSS 점수 10.0 (Critical)을 받은 것이다. 심지어 미국
CISA(사이버보안 및 인프라 보안국)에서도 연방 기관들에게 12월 12일까지 패치를 강제하는 지시를
내렸다고 한다.

내가 운영 중인 프로젝트가 영향을 받는지 확인하기 위해 취약점을 분석하고, 안전성을 검토해보았다.

취약점 분석

CVE-2025-55182: 무엇이 문제인가?

핵심 문제:

  • React Server Components의 역직렬화(deserialization) 과정에서 발생
  • 공격자가 Server Function 엔드포인트로 악의적인 HTTP 요청을 보내면

React가 이를 역직렬화하는 과정에서 서버에서 임의의 코드가 실행됨→ 인증 없이, 사용자 개입 없이, 네트워크를 통해 서버를 완전히 장악할 수 있다는 뜻이다.

영향 받는 버전(취약한 버전)
* React 19.0.0
* React 19.1.0
* React 19.1.1
* React 19.2.0
영향 받는 패키지(취약한 패키지)
* react-server-dom-webpack
* react-server-dom-parcel
* react-server-dom-turbopack

 

위 내용을 보면 최신 React 19 버전으로 운영 중인 프로젝트가 있다면 모두 해당된다는 것이다.

위험한 프로젝트 코드

다음 중 하나라도 해당되면 취약하다고 한다

// React 19.x를 사용 중
// package.json 내에서...
{
"dependencies": {
"react": "^19.0.0" // 위험
}
}

// Next.js 13.3 이상 사용 중에서 (App Router)
// app/page.tsx
'use server'; // Server Component 사용 시 위험

export async function submitForm(data) {
// 서버에서 실행되는 코드
// → 악의적 요청으로 RCE 가능
}

// React Server Functions 구현한 경우
// actions.ts
'use server';

export async function createPost(formData) {
// 아래와 같은 패턴이 있다면 위험
const post = await db.posts.create(formData);
return post;
}
  • 기타 RSC 지원 프레임워크
    • React Router (SSR 지원 버전)
    • Waku
    • Redwood SDK
    • Vite + RSC plugin

필자의 프로젝트들을 점검해보니 다행히도 react 19 최신 버전을 사용하고 있는 프로젝트가 없었다(18버전 사용중)
이로 인해 다행히 공격은 받지 않는 구조였다.

그러나 특정 프로젝트 중에 next.js를 사용 중인 프로젝트가 있어서 해당 프로젝트의 경우, 차후의 위험성을 제거하기 위해서 next.js 버전을 업그레이드하는게 필요할 거 같았다.

// 나의 프로젝트의 의존성 패키지 내용 
//FRONTEND/package.json 
{ "dependencies": 
	{ 	
    	"react": "^18.2.0", // React 18 사용 
		"react-dom": "^18.2.0", // 안전 
		"react-scripts": "^5.0.0" // Create React App 
	}
}

next.js 재설치

react 공식 사이트에 따르면 사실상 모든 next.js 버전들(13.x, 14.x, 15.x, 16.x) 이 취약성이 존재한다고 한다.
그리고 hot-fix된 아래의 버전으로 설치하는 것을 추천

npm install next@14.2.35  // for 13.3.x, 13.4.x, 13.5.x, 14.x
npm install next@15.0.7   // for 15.0.x
npm install next@15.1.11  // for 15.1.x
npm install next@15.2.8   // for 15.2.x
npm install next@15.3.8   // for 15.3.x
npm install next@15.4.10  // for 15.4.x
npm install next@15.5.9   // for 15.5.x
npm install next@16.0.10  // for 16.0.x

npm install next@15.6.0-canary.60   // for 15.x canary releases
npm install next@16.1.0-canary.19   // for 16.x canary releases

react 재설치 및 그외 종속성이 있는 취약 패키지들

React 관련해서 다음의 종속성이 있는 패키지들도 최신 버전으로 재설치 필요(해당한다면)

npm install react@latest
npm install react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latest

참고: yarn을 통한 재설치 프로세스

필자의 프로젝트는 yarn을 통해 패키지 관리 중이라 yarn을 통한 삭제 및 재설치를 진행하였다.

 # 프로젝트 내에서 기존 노드 모듈 정보 삭제
  rm -rf node_modules
  # Next.js 15.5.9 설치(next.js 15.x를 사용중이라 해당 버전으로 재설치)
  yarn add next@15.5.9
  # 그외 관련 있는 패키지들도 동일 버전으로 재설치 진행!
  # @next/third-parties도 동일 버전으로
  yarn add @next/third-parties@15.5.9
  # eslint-config-next도 동기화
  yarn add -D eslint-config-next@15.5.9
  # 의존성 정리
  yarn install
  # 빌드 테스트
  yarn build
  # 개발 서버 실행 테스트
  yarn dev

위와 같은 과정으로 fix를 진행하여 조치

참고

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
https://nvd.nist.gov/vuln/detail/CVE-2025-55182
https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71912&menuNo=205020

저작자표시 (새창열림)

'개발 일상' 카테고리의 다른 글

React 사이드바 토글 시 ECharts 레이아웃 깨짐 해결법 (w.ResizeObserver)  (0) 2025.11.27
Windows 서버에서 FastAPI 자동 실행 시 발생한 서비스 오류 대응기  (0) 2025.11.11
서로 다른 서버 간 MongoDB 컬렉션 데이터 마이그레이션(ubuntu)  (2) 2025.07.03
[ubuntu 22.04] 최신 chrome 브라우저에서 키보드 입력 문제 해결법  (1) 2025.06.23
YOLO 객체 감지 후 위험 영역 판단 로직 개선기  (1) 2025.06.10
'개발 일상' 카테고리의 다른 글
  • React 사이드바 토글 시 ECharts 레이아웃 깨짐 해결법 (w.ResizeObserver)
  • Windows 서버에서 FastAPI 자동 실행 시 발생한 서비스 오류 대응기
  • 서로 다른 서버 간 MongoDB 컬렉션 데이터 마이그레이션(ubuntu)
  • [ubuntu 22.04] 최신 chrome 브라우저에서 키보드 입력 문제 해결법
레실이
레실이
  • 레실이
    레실이의 티스토리
    레실이
  • 전체
    오늘
    어제
    • 분류 전체보기 (91)
      • SE Bootcamp 내용 정리 (63)
      • 알고리즘 연습 (7)
      • Project 주저리 (4)
      • 기술 면접 source (3)
      • 개발 일상 (12)
      • 생성 AI 활용 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DOM
    mongoDB
    JS
    ORM
    Python
    데이터베이스
    알고리즘
    CSR
    PickAndDrink
    IT
    Linux
    JavaScript
    node
    MVC
    자료구조
    CORS
    promise
    객체
    CSS
    비동기
    useState
    state
    인증/보안
    useRef
    ubuntu
    fastapi
    Ajax
    react
    문자열
    node.js
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레실이
[Critical Issue] React Server Components (RSC) 관련 치명적 보안 취약점 조치법
상단으로

티스토리툴바