
This repository documents research into deserialization behavior within Next.js React Server Components (RSC) using the Flight protocol. It focuses on how malformed multipart bodies combined with Server Action request handling can lead to prototype traversal and execution primitives on certain builds.
이 저장소는 CVE-2025-55182(React2Shell로도 알려짐)에 대한 연구를 문서화합니다. 이는 React 서버 컴포넌트(RSC) 및 RSC Flight 프로토콜을 내장한 프레임워크, 특히 Next.js App Router에서 발생하는 심각한 안전하지 않은 역직렬화 취약점입니다.
여기서 초점은 잘못된 형식의 RSC/Flight 페이로드와 서버 함수(서버 액션) 처리가 결합되어 서버에서 공격자가 제어하는 JavaScript 실행으로 이어질 수 있는 방법입니다.
이 자료는 방어적 이해, 통제된 실험실 재현 및 문서화를 위한 것입니다. 즉시 사용 가능한 익스플로잇 툴킷이 아닙니다. 귀하가 소유하거나 명시적인 서면 승인을 받은 시스템에 대해서만 테스트하십시오.
핵심 버그는 서버 측 RSC Flight 구현에 있습니다. 다음 npm 패키지 및 버전에 영향을 미칩니다.
취약한 패키지 및 버전 (Vulert)
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
패치된 버전 (React 권고 기준) (Vulert)
React 19와 RSC를 사용하고 취약한 패키지 중 하나를 사용하는 모든 애플리케이션은 업그레이드될 때까지 영향을 받는 것으로 간주되어야 하며, 명시적으로 서버 함수를 정의하지 않은 경우에도 마찬가지입니다.
Next.js는 App Router를 사용할 때 취약한 RSC 구현을 상속받습니다. 이 문제는 Next.js에 대해 CVE-2025-66478로 추적되며 CVSS 10.0으로 평가됩니다. (SOCRadar® Cyber Intelligence Inc.)
취약한 Next.js 버전 (App Router)
React 19 RSC를 사용하는 모든 빌드:
next 15.x 중 다음 미만:
next 16.x 중 16.0.7 미만
14.3.0-canary.77부터 이후 수정 전 카나리 빌드
실제로 이는 다음을 의미합니다:
create-next-app 프로젝트는 업데이트되지 않는 한 범위에 포함됩니다.이 CVE의 영향을 받지 않음 (공급업체 지침 기준) (Black Kite)
취약한 RSC 패키지를 제공하는 모든 프레임워크 또는 번들러가 영향을 받을 수 있습니다. 현재 나열된 에코시스템은 다음과 같습니다: (Vulert)
@parcel/rsc@vitejs/plugin-rsc스택이 React 19와 취약한 react-server-dom-* 패키지 중 하나를 사용하는 경우, 반증이 없을 때까지 영향을 받는 것으로 간주하십시오.
공개 권고 및 공급업체 작성 자료에 따르면 익스플로잇의 특성은 다음과 같습니다: (Vulert)
인증
구성
react-server-dom-* 패키지 사용child_process.exec와 같은 명시적인 위험한 서버 함수를 정의할 필요 없음네트워크 노출
공격 흐름 (개략적)
CVSS 3.1 평가는 이를 다음과 같이 설명합니다:
통제된 테스트 환경에서 취약한 버전과 RSC가 활성화된 구성을 사용하여 연구원 및 공급업체는 다음과 같이 보고합니다: (SOCRadar® Cyber Intelligence Inc.)