React Server Components의 서비스 거부 및 소스 코드 노출 취약점

Denial of Service and Source Code Exposure in React Server Components

요약

React 개발팀은 지난주 CVE-2025-55182 패치를 우회하려던 보안 연구자들에 의해 추가 취약점 2개가 발견되었다고 발표했다. 새로운 취약점들은 원격 코드 실행을 허용하지 않지만, 서비스 거부(DoS) 취약점 3개(CVE-2025-55184, CVE-2025-67779, CVE-2026-23864, CVSS 7.5)와 소스 코드 노출 취약점 1개(CVE-2025-55183, CVSS 5.3)가 있다. 이전 패치(19.0.3, 19.1.4, 19.2.3)는 불완전하며, 19.0.4, 19.1.5, 19.2.4로 다시 업그레이드해야 한다. DoS 취약점은 악의적 HTTP 요청으로 무한 루프를 유발하여 서버 프로세스를 중단시키고 CPU를 소모할 수 있다.

핵심 포인트

  • 새로운 DoS 취약점(CVE-2025-55184, CVE-2025-67779)은 Server Function 엔드포인트에 특별히 제작된 HTTP 요청을 보내면 React이 역직렬화할 때 무한 루프를 발생시켜 서버 프로세스를 중단시킨다. 이는 CPU를 과다하게 소모하며, Server Function 엔드포인트를 구현하지 않은 앱도 React Server Components를 지원하면 취약하다.
  • 소스 코드 노출 취약점(CVE-2025-55183)은 중간 심각도(CVSS 5.3)로 평가되며, 원격 코드 실행이나 서비스 거부와 달리 민감한 소스 코드가 노출될 수 있다는 위협을 나타낸다.
  • 1월 26일에 새로운 DoS 취약점(CVE-2026-23864, CVSS 7.5)이 추가로 발견되었으며, 초기 수정(19.0.4, 19.1.5, 19.2.4)이 불완전했다. 서버 충돌, 메모리 부족, CPU 과다 사용 등 여러 증상을 유발할 수 있다.
  • 동일한 패키지들(react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack)의 모든 버전(19.0.0~19.2.3)이 영향받으며, 최신 수정 버전(19.0.4 이상, 19.1.5 이상, 19.2.4 이상)으로 업그레이드해야 한다.
  • React Native 사용자는 모놀리식 저장소가 아니면 추가 조치가 필요 없지만, 모놀리식 저장소를 사용하는 경우 설치된 react-server-dom 패키지들만 업그레이드하여 버전 불일치 오류를 피할 수 있다.
  • Log4Shell 이후의 CVE 사례처럼, 심각한 취약점 공개 후 추가 취약점이 발견되는 것은 보안 대응 주기가 건강하다는 신호이며, 이는 업계 전반에서 나타나는 패턴이다.

왜 중요한가

이전 패치만으로는 충분하지 않으며, React Server Components를 사용하는 모든 개발자는 서비스 거부와 소스 코드 노출 공격으로부터 보호하기 위해 재차 업그레이드해야 한다.

📄 전문 번역

React Server Components의 서비스 거부 및 소스 코드 노출 취약점

2025년 12월 11일 | React 팀 작성

2026년 1월 26일 업데이트

보안 연구자들이 지난주 공개된 치명적 취약점을 악용하려던 중, React Server Components에서 두 가지 추가 취약점을 발견해 공개했습니다. 다행히 이 새로운 취약점들은 원격 코드 실행(RCE)을 허용하지 않으며, 기존 React2Shell 패치는 여전히 효과적입니다.

새롭게 공개된 취약점은 다음과 같습니다:

  • 서비스 거부 (높음 심각도): CVE-2025-55184, CVE-2025-67779, CVE-2026-23864 (CVSS 7.5)
  • 소스 코드 노출 (중간 심각도): CVE-2025-55183 (CVSS 5.3)

새로운 취약점의 심각성으로 인해 즉시 업그레이드를 권장합니다.

⚠️ 주의사항

이전에 배포된 패치는 취약점이 있습니다. 이전 취약점으로 이미 업데이트했다면 다시 한 번 업데이트해야 합니다.

특히 19.0.3, 19.1.4, 19.2.3으로 업데이트하신 분들은 불완전한 버전이므로 재업데이트가 필수입니다.

업그레이드 방법은 이전 공지사항을 참고해주세요. 수정 사항의 배포가 완료된 후 취약점에 대한 자세한 정보를 제공하겠습니다.

즉시 조치 필요

이 취약점들은 CVE-2025-55182와 동일한 패키지와 버전에 존재합니다. 다음 패키지들의 해당 버전들이 영향을 받습니다:

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

영향받는 버전: 19.0.0, 19.0.1, 19.0.2, 19.0.3, 19.1.0, 19.1.1, 19.1.2, 19.1.3, 19.2.0, 19.2.1, 19.2.2, 19.2.3

수정된 버전으로 업그레이드하세요: 19.0.4, 19.1.5, 19.2.4

위 패키지 중 하나를 사용 중이라면 즉시 수정된 버전으로 업그레이드해야 합니다.

영향받지 않는 경우

  • React Server를 사용하지 않는 앱
  • React Server Components를 지원하는 프레임워크, 번들러, 플러그인을 사용하지 않는 앱

참고: 추가 취약점 공개는 정상적인 과정입니다

치명적 CVE가 공개되면 보안 연구자들은 초기 패치가 우회될 수 있는지 테스트하기 위해 인접한 코드 경로를 자세히 살펴봅니다. 이는 JavaScript뿐만 아니라 전 산업에서 나타나는 패턴입니다. 예를 들어 Log4Shell 이후에도 여러 추가 CVE가 보고되었습니다.

추가 공개가 번거로울 수 있지만, 일반적으로 건강한 보안 대응 사이클의 신호입니다.

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

다음 React 프레임워크와 번들러들이 영향받는 패키지에 의존하고 있습니다:

  • next
  • react-router
  • waku
  • @parcel/rsc
  • @vite/rsc-plugin
  • rwsdk

업그레이드 방법은 이전 공지사항을 참고해주세요.

호스팅 제공자 임시 완화 조치

일부 호스팅 제공자들과 협력해 임시 완화 조치를 적용했습니다. 하지만 이에 의존하지 마시고 반드시 즉시 업데이트하세요.

React Native 사용자

monorepo를 사용하지 않거나 react-dom을 사용하지 않는 경우, package.json에서 react 버전이 고정되어 있으면 추가 조치가 필요하지 않습니다.

monorepo에서 React Native를 사용 중이라면 다음 패키지가 설치되어 있을 경우만 업데이트하면 됩니다:

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

이 업데이트는 보안 권고를 완화하기 위해 필요하며, react와 react-dom을 업데이트할 필요는 없으므로 React Native의 버전 불일치 오류가 발생하지 않습니다.

더 자세한 정보는 해당 이슈를 참고하세요.


높음 심각도: 다중 서비스 거부 취약점

CVE: CVE-2026-23864

심각도 점수: 7.5 (높음)

날짜: 2026년 1월 26일

보안 연구자들이 React Server Components에서 여전히 존재하는 추가 서비스 거부 취약점을 발견했습니다.

이 취약점은 Server Function 엔드포인트로 특별히 제작된 HTTP 요청을 보내면 트리거되며, 서버 크래시, 메모리 부족 예외, 또는 과도한 CPU 사용으로 이어질 수 있습니다. 영향받는 코드 경로, 애플리케이션 구성, 그리고 애플리케이션 코드에 따라 달라집니다.

2026년 1월 26일 배포된 패치가 이 서비스 거부 취약점을 완화합니다.

⚠️ 추가 수정 사항 공개

CVE-2025-55184의 서비스 거부 문제를 해결한 원본 패치가 불완전했습니다. 이로 인해 이전 버전들이 여전히 취약했습니다. 19.0.4, 19.1.5, 19.2.4 버전은 안전합니다.


높음 심각도: 서비스 거부 취약점

CVE: CVE-2025-55184, CVE-2025-67779

심각도 점수: 7.5 (높음)

보안 연구자들은 Server Functions 엔드포인트로 악의적인 HTTP 요청을 보내면, React가 이를 역직렬화할 때 무한 루프가 발생해 서버 프로세스가 멈추고 CPU를 과다 소비하는 상황을 발견했습니다.

심지어 Server Function 엔드포인트를 구현하지 않은 앱도 React Server Components를 지원한다면 취약할 수 있습니다. 이는 공격자가 사용자의 서비스 접근을 거부하고 잠재적으로 성능을 저하시킬 수 있는 취약점입니다.