React2Shell RCE 취약점: React Server Components와 Next.js의 치명적인 익스플로잇 — 즉시 패치

발행: (2025년 12월 10일 오후 12:28 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Overview

**React Server Components (RSC)**에서 발견된 심각한 보안 취약점인 React2Shell은 React 및 Next.js 애플리케이션을 실행 중인 서버에서 원격 코드 실행(RCE)을 가능하게 합니다. 이 결함은 RSC “Flight” 프로토콜에 존재하며, 안전하지 않은 역직렬화 때문에 발생합니다. 공격자는 임의의 코드를 서버에서 실행할 수 있는 정교한 페이로드를 전송할 수 있습니다.

Impact

  • React Server Components (모든 구현)
  • Next.js App Router (내부적으로 RSC에 의존)
  • react-server-dom-* 패키지에 의존하는 모든 번들러 또는 프레임워크(예: Webpack, Turbopack, Parcel)

서버 액션을 작성하지 않아도 RSC만 사용하면 충분히 악용이 가능합니다. 독립적인 보안 연구자들은 공개 직후 악용 시도를 관찰했습니다.

Affected Packages

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

Mitigation Steps

  1. 모든 RSC 패키지를 고정된 버전으로 업그레이드합니다:

    # 다음 버전 중 하나(또는 최신 버전)를 선택하세요
    # 19.0.1, 19.1.2, 19.2.1
  2. 업데이트 후 애플리케이션을 재배포합니다.

  3. Next.js 대응: Next.js 팀에서 제공하는 자동화 도구를 실행합니다:

    npx fix-react2shell-next

    그런 다음 권고문에 명시된 패치된 Next.js 릴리스를 업그레이드하고 재배포합니다.

  4. 모든 비밀 키와 환경 변수를 교체합니다.

  5. 의심스러운 요청이나 프로세스에 대한 로그를 검토합니다.

  6. 패치 이전에 온라인에 있었던 모든 배포에 대해 보안 스캔을 수행합니다.

References

  • React 권고:
  • Next.js 권고:
Back to Blog

관련 글

더 보기 »

Next.js의 긴급 보안 업데이트

Next.js의 긴급 보안 업데이트를 위한 표지 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fd...