
이 저장소는 Flight 프로토콜을 사용하는 Next.js React Server Components (RSC) 내 역직렬화 동작에 대한 연구를 문서화합니다. 특정 빌드에서 잘못된 multipart 본문과 Server Action 요청 처리가 결합되어 프로토타입 순회 및 실행 프리미티브로 이어질 수 있는 방법에 중점을 둡니다.
이 저장소는 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.)