React 서버 컴포넌트의 서비스 거부 및 소스 코드 노출 취약점

1 month ago 12

  • React Server Components에서 서비스 거부(DoS)소스 코드 노출 취약점이 새로 발견되어 공개됨
  • 이번 취약점은 원격 코드 실행(RCE) 은 불가능하지만, 서버 중단이나 코드 유출 위험이 존재
  • 영향을 받는 패키지는 react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack의 19.0.0~19.2.2 버전이며, 수정 버전은 19.0.3, 19.1.4, 19.2.3
  • DoS 취약점(CVE-2025-55184, CVE-2025-67779) 은 악성 HTTP 요청으로 서버 무한 루프를 유발할 수 있고, 소스 코드 노출 취약점(CVE-2025-55183) 은 서버 함수의 코드 일부를 반환할 수 있음
  • React 팀은 즉시 업그레이드를 권고하며, 이번 추가 공개는 보안 대응 주기의 정상적 과정으로 설명됨

새로 공개된 취약점 개요

  • 보안 연구자들이 지난주 공개된 치명적 취약점 패치 검증 중 두 가지 추가 취약점을 발견
  • 새 취약점은 원격 코드 실행(RCE) 은 불가능하며, 기존 React2Shell 패치는 여전히 유효
  • 새로 공개된 취약점은 다음과 같음
    • 서비스 거부(DoS) — CVE-2025-55184, CVE-2025-67779 (CVSS 7.5, 높은 심각도)
    • 소스 코드 노출 — CVE-2025-55183 (CVSS 5.3, 중간 심각도)
  • React 팀은 즉시 업그레이드를 권고

기존 패치의 불완전성

  • 지난주 배포된 19.0.2, 19.1.3, 19.2.2 버전의 패치가 불완전하여 다시 업데이트 필요
  • 완전한 수정은 19.0.3, 19.1.4, 19.2.3 버전에 포함
  • 이전 게시물의 업데이트 지침을 따라야 함
  • 수정 배포 완료 후 추가 세부 정보 공개 예정

영향받는 패키지 및 버전

  • 취약점은 CVE-2025-55182와 동일한 패키지 및 버전에 존재
  • 영향받는 버전: 19.0.0~19.2.2
  • 영향받는 패키지:
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack
  • 수정 버전: 19.0.3, 19.1.4, 19.2.3
  • 서버를 사용하지 않거나 React Server Components를 지원하지 않는 앱은 영향 없음

후속 취약점 공개의 일반적 패턴

  • 치명적 CVE 공개 후 관련 코드 경로를 추가 분석하는 과정에서 후속 취약점이 종종 발견됨
  • 예시로 Log4Shell 이후 추가 CVE들이 보고된 사례 언급
  • 이러한 추가 공개는 보안 대응이 정상적으로 작동하고 있음을 의미

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

  • 다음 프레임워크 및 번들러가 취약한 React 패키지를 포함하거나 의존함
    • next, react-router, waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk
  • 이전 게시물의 업데이트 지침을 따라야 함

호스팅 제공자 완화 조치

  • 여러 호스팅 제공자와 협력해 임시 완화 조치 적용
  • 그러나 이러한 조치에 의존하지 말고 즉시 업데이트 필요

React Native 관련 지침

  • React Native 단독 사용자는 추가 조치 불필요
  • 모노레포 환경에서는 다음 패키지만 업데이트 필요
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack
  • react 및 react-dom은 업데이트할 필요 없음
  • 관련 세부 내용은 React Native GitHub 이슈 참조

높은 심각도: 서비스 거부(DoS)

  • CVE-2025-55184, CVE-2025-67779, CVSS 7.5
  • 악성 HTTP 요청이 React 서버 함수 엔드포인트로 전송될 경우, 역직렬화 과정에서 무한 루프 발생
  • 서버 프로세스가 중단되고 CPU를 과도하게 점유할 수 있음
  • 서버 함수 엔드포인트를 직접 구현하지 않아도, React Server Components를 지원하는 앱이면 취약할 수 있음
  • 오늘 배포된 패치는 무한 루프 방지로 문제 해결
  • 초기 수정이 불완전하여 추가 취약점(CVE-2025-67779)으로 보완됨

중간 심각도: 소스 코드 노출

  • CVE-2025-55183, CVSS 5.3
  • 악성 HTTP 요청이 서버 함수의 소스 코드 일부를 반환할 수 있음
  • 서버 함수가 문자열 인자를 명시적 또는 암묵적으로 노출할 경우 발생
  • 예시 코드에서는 데이터베이스 연결 키 등 하드코딩된 비밀값이 노출될 수 있음
  • 패치는 서버 함수 소스 코드 문자열화 방지로 문제 해결
  • 노출 범위는 서버 함수 내부 코드로 제한되며, 런타임 비밀(process.env.SECRET 등) 은 영향 없음
  • 프로덕션 번들 기준으로 검증 필요

타임라인

  • 12월 3일: Andrew MacPherson이 Vercel 및 Meta Bug Bounty에 코드 노출 보고
  • 12월 4일: RyotaK가 DoS 취약점 보고
  • 12월 6일: React 팀이 두 문제 확인 및 조사 시작
  • 12월 7일: 초기 수정안 작성 및 검증 계획 수립
  • 12월 8일: 호스팅 제공자 및 오픈소스 프로젝트에 통보
  • 12월 10일: 완화 조치 적용 및 패치 검증 완료
  • 12월 11일: Shinsaku Nomura가 추가 DoS 보고, CVE-2025-55183·55184·67779 공개

보고자

  • Andrew MacPherson (AndrewMohawk) — 소스 코드 노출 보고
  • RyotaK (GMO Flatt Security Inc)Shinsaku Nomura (Bitforest Co., Ltd.) — 서비스 거부 취약점 보고

Read Entire Article