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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-23918-poc — استغلال إثبات المفهوم لثغرة التحرير المزدوج في Apache mod_http2 (CVE-2026-23918) مع مراحل الاستطلاع والاستغلال وتقييم مخاطر RCE. | Kitploit
أدوات/GitHubGitHub/bencodin/cve-2026-23918-poc
الاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأداة الوصول عن بعد
GitHubbencodin/cve-2026-23918-poc

CVE-2026-23918-poc

استغلال إثبات المفهوم لثغرة التحرير المزدوج في Apache mod_http2 (CVE-2026-23918) مع مراحل الاستطلاع والاستغلال وتقييم مخاطر RCE.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-23918 — التحرير المزدوج في Apache mod_http2

المتأثر: خادم Apache HTTP 2.4.66 مع mod_http2 + Event MPM
تم الإصلاح في: Apache 2.4.67 (mod_h2 v2.0.37)
CVSS 3.1: 8.8 عالي — تنفيذ تعليمات برمجية عن بُعد غير مصادق عليه ممكن
CWE: CWE-415 (تحرير مزدوج)


ما هي الثغرة

يحتوي mod_http2 في Apache 2.4.66 على خطأ تحرير مزدوج داخل h2_mplx.c:m_stream_cleanup(). تحدث المشكلة عندما يرسل العميل إطار HEADERS يتبعه مباشرة إطار RST_STREAM على نفس التدفق. إذا كان التوقيت مناسبًا، ينتهي الأمر بدفع التدفق مرتين إلى مصفوفة التطهير m->spurge. عند إتلاف mplx، يتم تحرير تجمع APR مرتين، مما يؤدي إلى إتلاف الكومة والتسبب في SIGABRT أو SIGSEGV.

قامت Apache بتصحيح هذا في mod_h2 v2.0.37 عن طريق إدخال add_for_purge()، وهو فحص بسيط لإزالة الازدواجية يمنع إضافة نفس التدفق مرتين.

// الضعيف (< v2.0.37)
APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;  // يمكن أن يحدث مرتين

// المُصحَّح (v2.0.37+)
static int add_for_purge(h2_mplx *m, h2_stream *stream) {
    for (int i = 0; i < m->spurge->nelts; ++i)
        if (APR_ARRAY_IDX(m->spurge, i, h2_stream*) == stream)
            return FALSE;
    APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;
    return TRUE;
}

كيف يعمل إثبات المفهوم (PoC)

افتراضيًا، يشغل البرنامج النصي خط أنابيب من 3 مراحل على الهدف:

المرحلةما يفعله
1 — الاستطلاعيكتشف إصدار Apache، ودعم HTTP/2 عبر ALPN، ونوع MPM
2 — الاستغلاليرسل دفقات مترابطة من HEADERS+RST_STREAM، ويحاول الوضع المضمن ثم المرحلي
3 — تقييم RCEيقيس اتساق التعطل ويسجل مستوى الخطر

يتم حساب درجة RCE من ثلاث إشارات يمكن اكتشافها عن بُعد. أولاً، ما إذا كان Apache 2.4.66 قيد التشغيل. ثانيًا، ما إذا كان MPM من نوع Event أو Worker قيد الاستخدام (يرفض mod_http2 البدء مع Prefork، لذا إذا كان HTTP/2 يعمل، فهذا يعني أن MPM مترابط). ثالثًا، مدى حتمية التعطل — فالتعطل في الجولة الأولى يعني أن إتلاف الكومة مُتحكم فيه وقابل للتكرار، وهو ما تحتاجه من أجل RCE.


التثبيت

pip install hpack requests

الاستخدام

# إثبات مفهوم كامل على هدف واحد (السلوك الافتراضي)
python poc.py -t 192.168.1.100

# زيادة الضغط بمزيد من الجولات، دفعات أكبر، وخيوط أكثر
python poc.py -t 192.168.1.100 -n 20 -b 500 -w 5

# فحص سلبي فقط، لا شيء يُرسل إلى الهدف
python poc.py -t example.com --check-only

# فحص قائمة كاملة من الأهداف
python poc.py -l sites.txt -o results.json

# فحص سلبي على قائمة
python poc.py -l sites.txt --check-only

# إنشاء تقرير Markdown بعد التشغيل
python poc.py -t target.com --report report.md

الخيارات

العلمالافتراضيالوصف
-t—هدف واحد (اسم مضيف أو IP)
-l—ملف يحتوي على أهداف، سطر واحد لكل هدف
-p443المنفذ
-n10عدد جولات الاستغلال
-b200عدد أزواج HEADERS+RST لكل جولة
-w3اتصالات متوازية لكل جولة
-d0.1تأخير بين الجولات بالثواني
-minlineوضع الهجوم: inline أو staged
--no-tls—استخدام h2c بدلاً من TLS
--check-only—استطلاع سلبي فقط، لا استغلال
-o—حفظ النتائج في ملف JSON
--report—إنشاء تقرير Markdown
-v—إخراج مفصّل

تنسيق ملف الهدف

# هدف واحد لكل سطر، يتم تجاهل التعليقات
192.168.1.100
example.com
example.com:8443
https://example.com
http://example.com:8080

مستويات خطر RCE

المستوىالمعنى
حرجتم تأكيد 2.4.66، HTTP/2 نشط، MPM Event مكتشف، التعطل حتمي — قم بالتصحيح فورًا
عاليتم تأكيد 2.4.66، HTTP/2 نشط، MPM مترابط قيد الاستخدام
متوسطتم اكتشاف 2.4.66 ولكن لم يتم تأكيد HTTP/2 أو التعطل بعد
منخفضالإصدار غير متطابق أو لم يتم اكتشاف HTTP/2
لا يوجدتم التصحيح بالفعل إلى 2.4.67+ أو غير متأثر

كيفية التصحيح

الإصلاح المناسب هو ترقية Apache إلى 2.4.67 أو أحدث. إذا لم تستطع الترقية فورًا، فإن تعطيل HTTP/2 يزيل سطح الهجوم تمامًا:

# قبل
Protocols h2 http/1.1

# بعد (تعطيل HTTP/2)
Protocols http/1.1

إخلاء مسؤولية

هذه الأداة مخصصة لاختبار الأمان المصرح به والبحث فقط. تأكد من حصولك على إذن كتابي صريح قبل تشغيلها ضد أي هدف. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.

تنزيل الأداة