본문 바로가기

Web/React

[React ] React 서버 구성 요소의 심각한 보안 취약점 (+next js)

반응형

https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

React에서 큰일이 났다 엄청난 보안 취약점이 나온 것이다.

Log4j 이후 가장 최악이라고 기사가 났다..

 

우리 회사는 다행히 19버전을 사용하고 있지않아서 문제가 없었지만,

react 19버전을 사용하거나, next 15~16버전을 사용한 회사들은 지금 난리 났지 않았을까 싶다.

좀 더 귀를 열고 살아야하는데 못한 것 같다.

이것을 계기로 또 구독을 하나 늘려본다.

 

--

React 서버 구성 요소의 심각한 보안 취약점

2025년 12월 3일 React 팀 작성


React Server Components에 인증되지 않은 원격 코드 실행 취약점이 있습니다.

즉시 업그레이드하는 것이 좋습니다.


11월 29일, Lachlan Davidson은 React의 보안 취약점을 보고했습니다. 이 취약점은 React가 React 서버 함수 엔드포인트로 전송된 페이로드를 디코딩하는 방식의 결함을 악용하여 인증되지 않은 원격 코드 실행을 허용합니다.

앱이 React Server Function 엔드포인트를 구현하지 않더라도 앱이 React Server Components를 지원하는 경우 여전히 취약할 수 있습니다.

이 취약점은 CVE-2025-55182 로 공개되었으며 CVSS 등급은 10.0입니다.

이 취약점은 다음 버전 19.0, 19.1.0, 19.1.1 및 19.2.0에 존재합니다.

즉각적인 조치가 필요합니다

19.0.1 , 19.1.2 , 19.2.1 버전에서 수정 사항이 적용되었습니다 . 위 패키지를 사용 중이시라면 즉시 수정된 버전으로 업그레이드해 주시기 바랍니다.

앱의 React 코드가 서버를 사용하지 않으면 앱은 이 취약점의 영향을 받지 않습니다. 앱이 React Server Components를 지원하는 프레임워크, 번들러 또는 번들러 플러그인을 사용하지 않으면 앱은 이 취약점의 영향을 받지 않습니다.

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

일부 React 프레임워크와 번들러가 취약한 React 패키지에 의존하거나, 피어 종속성을 가지고 있거나, 해당 패키지를 포함하고 있었습니다. 영향을 받는 React 프레임워크 및 번들러는 next , react-router , waku , @parcel/rsc , @vitejs/plugin-rsc , rwsdk입니다 .

업그레이드 방법에 대한 지침이 나오면 이 게시물을 업데이트하겠습니다.

호스팅 제공업체 완화책

우리는 여러 호스팅 제공업체와 협력하여 임시 완화책을 적용했습니다.

앱의 보안을 위해 이것에만 의존해서는 안 되며, 즉시 업데이트해야 합니다.

취약점 개요

React 서버 함수를 사용하면 클라이언트가 서버의 함수를 호출할 수 있습니다. React는 프레임워크와 번들러가 React 코드가 클라이언트와 서버 모두에서 실행될 수 있도록 지원하는 통합 지점과 도구를 제공합니다. React는 클라이언트의 요청을 HTTP 요청으로 변환하여 서버로 전달합니다. 서버에서 React는 HTTP 요청을 함수 호출로 변환하여 필요한 데이터를 클라이언트에 반환합니다.

인증되지 않은 공격자는 모든 서버 함수 엔드포인트에 악성 HTTP 요청을 보낼 수 있으며, React에서 해당 요청을 역직렬화하면 서버에서 원격 코드 실행이 가능합니다. 취약점에 대한 자세한 내용은 수정 사항 배포가 완료된 후 제공될 예정입니다.

업데이트 지침

next.js

모든 사용자는 해당 릴리스 라인의 최신 패치 버전으로 업그레이드해야 합니다.

npm install next@15.0.5 // for 15.0.x
npm install next@15.1.9 // for 15.1.x
npm install next@15.2.6 // for 15.2.x
npm install next@15.3.6 // for 15.3.x
npm install next@15.4.8 // for 15.4.x
npm install next@15.5.7 // for 15.5.x
npm install next@16.0.7 // for 16.0.x

Next.js 14.3.0-canary.77 또는 이후의 canary 릴리스를 사용하는 경우 최신 안정 버전인 14.x 릴리스로 다운그레이드하세요.

npm install next@14

자세한 내용은 Next.js 변경 로그를 참조하세요 .

React Router

React Router의 불안정한 RSC API를 사용하는 경우 다음 package.json 종속성이 있으면 업그레이드해야 합니다.

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

expo

완화에 대해 자세히 알아보려면 expo.dev/changelog 의 기사를 읽어보세요 .

redwood SDK

rwsdk>=1.0.0-alpha.0을 사용하고 있는지 확인하세요.

최신 베타 버전을 보려면:

npm install rwsdk@latest

최신 버전으로 업그레이드하세요 react-server-dom-webpack:

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

자세한 마이그레이션 지침은 Redwood 문서를 참조하세요 .

waku

최신 버전으로 업그레이드하세요 react-server-dom-webpack:

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

자세한 마이그레이션 지침은 Waku 공지사항을 참조하세요 .

@vitejs/plugin-rsc 

최신 RSC 플러그인으로 업그레이드하세요:

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

react-server-dom-parcel 

최신 버전으로 업데이트하세요:

npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack 

최신 버전으로 업데이트하세요:

npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack 

최신 버전으로 업데이트하세요:

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

타임라인

  • 11월 29일 : Lachlan Davidson이 Meta Bug Bounty를 통해 보안 취약점을 보고했습니다 .
  • 11월 30일 : Meta 보안 연구원들이 이를 확인하고 React 팀과 협력하여 수정 작업을 시작했습니다.
  • 12월 1일 : 수정 사항이 만들어졌고 React 팀은 영향을 받는 호스팅 제공업체 및 오픈 소스 프로젝트와 협력하여 수정 사항을 검증하고 완화책을 구현하고 수정 사항을 출시하기 시작했습니다.
  • 12월 3일 : 수정 사항이 npm에 게시되었고 CVE-2025-55182라는 이름으로 대중에 공개되었습니다.

속성

이 취약점을 발견하고, 보고하고, 수정하는 데 도움을 준 Lachlan Davidson 에게 감사드립니다 .

반응형