
معمل Docker لـ Next.js RSC ضعيف عمدًا لاختبار CVE-2025-55182 (React2Shell) محليًا
مختبر Docker محلي للبحث الأمني المصرح به: مكونات خادم React / موجه تطبيق Next.js مع حزمة في النطاق المتأثر بـ CVE-2025-55182 (React2Shell).
استخدمه فقط على جهازك الخاص. لا تعرض هذه الحاوية للإنترنت.
| المكون | الإصدار | ملاحظة |
|---|
| Next.js | 15.1.0 | قبل التصحيح؛ يحذر npm من المشكلات المعروفة |
| React / react-dom | 19.2.0 | في السطر 19.x المتأثر بهذا CVE |
| خط أنابيب RSC | مضمن في Next | يتم تنفيذ إلغاء التسلسل عبر react-server-dom-* المترجم من Next |
التطبيق هو صفحة موجه تطبيق بسيطة مع إجراء خادم واحد بحيث تبدو POST / مع رأس Next-Action كهدف حقيقي.
git clone https://github.com/l0lsec/cve-2025-55182-lab.git
cd cve-2025-55182-lab
# بناء وتشغيل في الخلفية
docker compose up --build -d
افتح http://localhost:3000 — يجب أن ترى “مختبر RSC (قابل للاختراق عمدًا)” ونموذج صغير.
curl -sS -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/
# expect: 200
docker compose logs -f
docker compose down
http://localhost:3000 (أو قم بالتوجيه عبر Burp).POST / مع Content-Type: multipart/form-data ونص استغلال بروتوكول Flight (حقول multipart 0، 1، 2 كما في التقارير العامة / قوالبك).Next-Action
Next-Action الحقيقية من ذلك الطلب، أومثال لشكل الرأس:
Next-Action: <action-id-from-intercepted-request>
إذا لم يعمل النائب العام، ففضل دائمًا المعرف الحقيقي من سجل الوكيل بعد إرسال شرعي واحد.
قوالب متعددة الأجزاء جاهزة للصق POST / موجودة في burp-payloads/ (مثل id، whoami، sleep المستند إلى الوقت، نائبات OOB). راجع burp-payloads/README.md لفهرس الملفات. استبدل YOUR-COLLABORATOR-HOST في قوالب OOB قبل الإرسال.
.
├── Dockerfile # Multi-stage build, Next standalone, port 3000
├── docker-compose.yml # Maps host 3000 → container 3000
├── burp-payloads/ # Raw *.http for Burp Repeater + index README
├── app/
│ ├── layout.tsx
│ └── page.tsx # Server Action + lab UI
├── public/
├── package.json
├── package-lock.json
└── next.config.ts # output: "standalone"
npm install
npm run dev
# http://localhost:3000
لإعادة إنتاج CVE، فضل صورة Docker بحيث تطابق الحزمة التبعيات الضعيفة المثبتة.
للاستخدام التعليمي / المخبري فقط. أنت مسؤول عن الامتثال للقوانين والسياسات في مكان عملك. لا ضمان.