React2Shell RCE 취약점: React Server Components와 Next.js의 치명적인 익스플로잇 — 즉시 패치
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-webpackreact-server-dom-parcelreact-server-dom-turbopack
Mitigation Steps
-
모든 RSC 패키지를 고정된 버전으로 업그레이드합니다:
# 다음 버전 중 하나(또는 최신 버전)를 선택하세요 # 19.0.1, 19.1.2, 19.2.1 -
업데이트 후 애플리케이션을 재배포합니다.
-
Next.js 대응: Next.js 팀에서 제공하는 자동화 도구를 실행합니다:
npx fix-react2shell-next그런 다음 권고문에 명시된 패치된 Next.js 릴리스를 업그레이드하고 재배포합니다.
-
모든 비밀 키와 환경 변수를 교체합니다.
-
의심스러운 요청이나 프로세스에 대한 로그를 검토합니다.
-
패치 이전에 온라인에 있었던 모든 배포에 대해 보안 스캔을 수행합니다.
References
- React 권고:
- Next.js 권고: