CRITICAL: 새로운 React Server Component 취약점 - 서비스 거부 및 소스 코드 노출
Source: Dev.to

React 개발자 여러분, 주목하세요! React 팀이 방금 React Server Components에 대한 두 가지 새로운 취약점을 발표했습니다. 이 취약점은 서비스 거부(DoS) 또는 소스 코드 노출을 초래할 수 있습니다. 프로덕션 환경에서 React Server Components를 사용하고 있다면 즉시 애플리케이션을 패치해야 합니다.
이 글에서는 일반적인 React 취약점과 Next.js에 미치는 구체적인 영향을 다룹니다.
취약점 (React)
두 가지 취약점은 다음과 같습니다:
- 서비스 거부 (DoS) – 높은 심각도 (CVSS 7.5, CVE‑2025‑55184)
- 소스 코드 노출 – 중간 심각도 (CVSS 5.3, CVE‑2025‑55183)
서비스 거부 (DoS)
특수하게 조작된 HTTP 요청이 서버에서 무한 루프를 일으킬 수 있습니다. 이로 인해 서버가 응답하지 않게 되어 사용자에게 서비스 거부가 발생합니다. 이는 높은 심각도의 취약점이며 즉시 대응해야 합니다.
소스 코드 노출
이 취약점을 이용하면 악의적인 사용자가 Server Functions의 소스 코드를 접근할 가능성이 있습니다. 특수하게 조작된 HTTP 요청을 보내면 코드와 함께 하드코딩된 비밀키 등 민감한 정보가 노출될 수 있습니다. 중간 심각도로 분류되지만 영향은 심각할 수 있습니다.
영향을 받나요? (React)
React Server Components를 사용하고 있다면 영향을 받습니다. 다음과 같은 프레임워크 및 번들러가 포함됩니다:
- Next.js
- react‑router
- Waku
@parcel/rsc@vite/rsc-plugin- rwsdk
서버를 사용하지 않거나 애플리케이션이 React Server Components를 지원하지 않는 경우 영향을 받지 않습니다.
해결 방법 (React)
React 팀은 다음 패키지의 패치 버전을 공개했습니다:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack
최신 버전(19.0.3, 19.1.4, 19.2.3)으로 업그레이드하여 취약점을 해결하십시오.
React Native 개발자를 위해, React 팀은 모노레포에서 영향을 받는 패키지를 업데이트하는 구체적인 지침을 제공했습니다.
지금 해야 할 일 (React)
- 영향 여부 확인: 애플리케이션이 React Server Components를 사용하는지 확인합니다.
- 의존성 업그레이드: 영향을 받는 경우
react-server-dom-*패키지를 최신 패치 버전으로 업그레이드합니다. - 코드 감사: 패치 후에도 하드코딩된 비밀키가 있는지 검토하고 안전한 위치로 이동합니다.
Next.js 전용 정보 (업데이트)
Next.js 팀은 App Router를 사용하는 애플리케이션에 대한 React Server Component 취약점의 하위 영향을 해결하는 보안 업데이트를 발표했습니다.
중요 참고: 서비스 거부 취약점(CVE‑2025‑55184)에 대한 초기 수정이 불완전했습니다. 완전한 수정은 CVE‑2025‑67779 아래에서 제공됩니다. 이전에 업그레이드했더라도 최신 패치 버전으로 다시 업그레이드해야 합니다.
영향을 받는 및 수정된 Next.js 버전
| 릴리즈 라인 | 수정된 버전 |
|---|---|
| >=13.3 | 14.2.35 |
| 14.x | 14.2.35 |
| 15.0.x | 15.0.7 |
| 15.1.x | 15.1.11 |
| 15.2.x | 15.2.8 |
| 15.3.x | 15.3.8 |
| 15.4.x | 15.4.10 |
| 15.5.x | 15.5.9 |
| 15.x canary | 15.6.0‑canary.60 |
| 16.0.x | 16.0.10 |
| 16.x canary | 16.1.0‑canary.19 |
Next.js 사용자를 위한 필수 조치
모든 사용자는 해당 릴리즈 라인에 맞는 최신 패치 버전으로 업그레이드해야 합니다. 우회 방법은 없습니다.
다음과 같이 npm 또는 yarn을 사용해 패치 버전을 설치할 수 있습니다:
npm install next@14.2.35 # for 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
또는 인터랙티브한 fix-react2shell-next 도구를 사용해 현재 버전을 확인하고 업그레이드할 수 있습니다:
npx fix-react2shell-next