피드로 돌아가기
CVE-2025-55182 · React2Shell: RCE en React Server Components via Prototype Pollution
Dev.toDev.to
Security

CVSS 10.0 RCE: Flight 프로토콜 Prototype Pollution을 통한 서버 장악

CVE-2025-55182 · React2Shell: RCE en React Server Components via Prototype Pollution

Annais Molina Fuentes2026년 5월 3일4advanced

Context

React 19의 Server Components(RSC)가 채택한 Flight 프로토콜의 유연한 역직렬화 구조가 취약점의 배경임. 객체의 .then 메서드 존재 여부만으로 Promise 여부를 판단하는 Duck Typing 방식의 검증 로직이 보안 허점으로 작용함.

Technical Solution

  • Prototype Pollution을 통한 Object.prototype.then 오염으로 모든 일반 객체를 thenable 상태로 변조
  • multipart/form-data 요청 내 proto 주입을 통한 서버 런타임의 전역 프로토타입 오염 유도
  • Flight 역직렬화 과정에서 오염된 .then이 실행되며 Function constructor를 통해 임의 JavaScript 코드 주입
  • execSync() 실행 결과를 NEXT_REDIRECT 에러 다이제스트에 삽입하여 X-Action-Redirect 헤더로 외부 유출
  • hasOwnProperty 검증 로직을 추가하여 프로토타입 체인을 통한 속성 접근을 원천 차단하는 패치 적용
  • identity 기반 검증으로 전환하여 thenable 객체의 행동적 특성에 의존하던 설계 결함 해결

- React

1

9.

0.2,

1

9.

1.3,

1

9.

2.2 이상의 최신 버전 업데이트 여부 확인 - 외부 입력값이 포함된 객체 접근 시 hasOwnProperty() 또는 Object.hasOwn() 사용 강제 - multipart/form-data 처리 시 __proto__ 및 constructor 키워드 필터링 적용 검토 - 서버 사이드 런타임에서 가급적 Object.freeze(Object.prototype) 적용 가능 여부 검토

원문 읽기