
React2Shell 취약점 (CVE-2025-55182 / CVE-2025-66478) 전체 스크립트
승인된 로컬 테스트 환경에서만 심각한 React2Shell 취약점(CVE-2025-55182 / CVE-2025-66478)을 시연하기 위한 개념 증명 도구입니다.
이 취약점(CVSS 10.0)은 정교한 위협 행위자들에 의해 활발히 악용되고 있습니다. Amazon 위협 인텔리전스에 따르면, Earth Lamia 및 Jackpot Panda를 포함한 여러 중국 관련 국가 후원 그룹이 공개 익스플로잇이 공개된 지 몇 시간 만에 무기화하기 시작했습니다. 미국 사이버보안 및 인프라 보안국(CISA)은 이를 알려진 악용 취약점(KEV) 카탈로그에 추가했습니다.
CVE-2025-55182 (React2Shell)는 React Server Components (RSC) "Flight" 프로토콜의 중요한 인증 전 원격 코드 실행(RCE) 취약점입니다. 별도의 식별자인 CVE-2025-66478이 Next.js에 대해 할당되었으나 CVE-2025-55182의 중복으로 기각되었으며, 둘 다 동일한 근본 원인을 공유합니다.
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# 특정 URL 대상
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
취약점은 특정 React 패키지에서 비롯되며, 이를 번들하는 모든 프레임워크에 영향을 미칩니다.
영향 없음: Next.js 13.x, Next.js 14.x 안정 버전, Pages Router 애플리케이션, Edge Runtime은 영향을 받지 않습니다.
RSC Flight 프로토콜은 클라이언트-서버 통신을 위해 데이터를 직렬화합니다. 취약점은 서버의 역직렬화 로직에 있으며, 들어오는 페이로드의 객체 속성을 적절한 검증 없이 안전하지 않게 확장합니다. 이를 통해 공격자는 요청에 악성 키(예: __proto__ 또는 constructor)를 주입할 수 있으며, 이는 프로토타입 오염으로 이어집니다.
프로토타입 체인이 오염되면 서버는 공격자가 영향을 미치는 실행 경로를 따릅니다. 이는 서버 권한으로 임의의 JavaScript 코드를 실행하도록 연결되어 완전한 원격 코드 실행(RCE)에 이릅니다.
보안 연구원들은 성공적인 악용이 다음 활동으로 이어지는 것을 관찰했습니다:
.aws/credentials) 식별 및 유출 시도.패치는 필수이며 취약점을 완전히 제거할 수 있는 유일한 방법입니다. 취약한 코드 경로를 비활성화하는 구성 설정은 없습니다.
# Next.js 사용자의 경우, 릴리스 라인의 최신 패치 버전으로 업그레이드하십시오.
# 예: Next.js 15.5.x를 사용 중인 경우:
npm install [email protected]
# 또한 React 종속성도 업데이트되었는지 확인하십시오:
npm install react@latest react-dom@latest
확인: package-lock.json 또는 yarn.lock 파일이 패치된 react-server-dom-* 패키지 버전(19.0.1, 19.1.2, 또는 19.2.1)을 반영하는지 확인하십시오.
패치하는 동안 웹 애플리케이션 방화벽(WAF) 규칙을 배포하여 악용 시도를 차단하십시오:
AWSManagedRulesKnownBadInputsRuleSet(v1.24+)에 이 CVE에 대한 규칙이 포함되어 있습니다.cve-canary 규칙을 사용할 수 있습니다.참고: WAF 규칙은 일시적이고 불완전한 완화 방법입니다. 패치의 필요성을 대체하지 않습니다.
로그에서 이러한 악용 시도의 징후를 검토하십시오:
next-action 또는 rsc-action-id 헤더가 있는 POST 요청. $@ 또는 "status":"resolved_model" 패턴이 포함된 요청 본문.whoami, id, uname), /etc/passwd 읽기, 또는 /tmp/에 파일 쓰기(예: pwned.txt).이 도구는 CVSS 점수 10.0(최대 심각도) 이며 국가 후원 하에 활발히 악용되고 있는 취약점을 시연합니다.
기억하십시오: 이 도구는 패치가 시급한 이유를 보여줍니다. 이 지식을 사용하여 보안을 개선하고 시스템을 방어하십시오. 시스템을 손상시키지 마십시오. 모든 종속성을 위에 나열된 패치된 버전으로 업데이트했는지 확인하십시오.
| 구성 요소 | 영향을 받는 버전 | 패치된 버전 | 참고 |
|---|
| React 패키지 ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | 업스트림 결함의 원천. |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 및 이후 | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | 주요 영향 프레임워크. |
| 기타 프레임워크 | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Vite RSC Plugin | 패치된 React 패키지(>19.0.1, 19.1.2, 19.2.1)를 사용하는 버전으로 업데이트 | 영향을 받는 React 패키지를 사용하는 경우 취약함. |