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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Detections-CVE-2026-23918 — قواعد الكشف عن CVE-2026-23918 Apache http2 RCE - الاعتماد: stringa.ai, isec.pl | Kitploit
أدوات/GitHubGitHub/insomnisec/detections-cve-2026-23918
إدارة مؤشرات الاختراق (IOC)تحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSأمن الويبأمن الشبكاتاستخبارات التهديداتكشف التسللالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
Archived
GitHubinsomnisec/detections-cve-2026-23918

Detections-CVE-2026-23918

قواعد الكشف عن CVE-2026-23918 Apache http2 RCE - الاعتماد: stringa.ai, isec.pl

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

الانتقال إلى: https://github.com/insomnisec/public_cve_detections

لإدارة أفضل طويلة الأجل لمنشورات الاكتشافات

سيتم إزالة هذا المستودع في يونيو 2026

يُرجى استخدام المستودع الآخر مستقبلاً

CVE-2026-23918 "Apache HTTP/2 Double-Free" — حزمة الاكتشاف والاستجابة

تاريخ النشر: 2026-05-04
CVSSv3: 8.8 (عالي)
النوع: تنفيذ التعليمات البرمجية عن بعد / حرمان الخدمة (Double-Free فساد الذاكرة)
المكون: Apache HTTP Server mod_http2 (h2_mplx.c مسار تنظيف الدفق)
المتأثر: Apache HTTP Server 2.4.66 مع تمكين HTTP/2 وMPM متعدد الخيوط
المراجع:

  • استشارة أمان Apache HTTP Server
  • إفصاح oss-security
  • تحليل Hadrian التقني
  • تغطية insomnisec

جدول المحتويات

  1. ملخص الثغرة
  2. كيف يعمل الاستغلال
  3. هندسة الاكتشاف — لماذا تختلف هذه الحزمة عن حزم LPE
  4. قيود الاكتشاف
  5. التخفيف الفوري
  6. قواعد Suricata
  7. تكوين ModSecurity / Coraza
  8. قواعد Auditd
  9. قواعد Wazuh
  10. قواعد YARA
  11. قالب حدث MISP
  12. التصحيح والإصلاح
  13. مرجع مؤشرات الاختراق الرئيسية

ملخص الثغرة

CVE-2026-23918 هي ثغرة تحرير مزدوج (double-free memory corruption) في تنفيذ بروتوكول HTTP/2 لخادوم Apache HTTP Server 2.4.66، وتؤثر فقط على مسار تنظيف الدفق في الوحدة mod_http2 في h2_mplx.c. تسمح لمهاجم عن بعد غير مصادق بتعطيل عمليات Apache العاملة (حرمان الخدمة) باستخدام اتصال TCP واحد وإطارين من HTTP/2. في ظل ظروف موجودة في الأنظمة المشتقة من Debian وصور Docker الرسمية لـ Apache، يمكن تشكيل التحرير المزدوج إلى تنفيذ تعليمات برمجية عن بعد بالكامل.

تم تأكيد استغلال حرمان الخدمة في البيئة الواقعية. وقد لوحظت عمليات مسح واسعة النطاق على الإنترنت تستهدف نقاط نهاية HTTP/2. تم إثبات قابلية استغلال RCE في بيئات محكومة، على الرغم من عدم وجود دليل على استغلال عام واسع النطاق لـ RCE في الوقت الحالي.

لا يتأثر MPM prefork — تتطلب الثغرة تكوين MPM متعدد الخيوط (worker أو event أو ما شابه). CVE-2026-23918 تؤثر فقط على Apache HTTP Server الإصدار 2.4.66.


كيف يعمل الاستغلال```

Attacker opens HTTP/2 connection to Apache 2.4.66 (mod_http2 loaded, multi-threaded MPM) └─ Sends HTTP/2 HEADERS frame on stream N (opens the stream) └─ Immediately sends RST_STREAM on stream N (non-zero error code) └─ Sent BEFORE the multiplexer has registered the stream

Two nghttp2 callbacks fire in sequence: ├─ on_frame_recv_cb (RST received) → calls h2_mplx_c1_client_rst → m_stream_cleanup └─ on_stream_close_cb (stream closed) → calls h2_mplx_c1_client_rst → m_stream_cleanup

Result: same h2_stream pointer pushed onto spurge[] cleanup array TWICE

c1_purge_streams() iterates spurge[] and calls h2_stream_destroy() on each entry: ├─ First call: valid — frees the stream └─ Second call: DOUBLE-FREE — operates on already-freed memory → heap corruption

DoS path (trivial, in the wild): └─ Heap corruption → SIGABRT in worker process → worker dies → service disruption

RCE path (requires mmap allocator — default on Debian/Ubuntu and official Docker): └─ Attacker places fake h2_stream struct at freed virtual address via mmap reuse └─ Points pool cleanup function pointer to system() └─ Uses Apache scoreboard shared memory (fixed address, ASLR-resistant) as payload container └─ c1_purge_streams() executes system() with attacker-controlled argument → RCE

> **عدم التماثل الرئيسي:** مسار رفض الخدمة لا يتطلب مهارة في التعامل مع الكومة ويتم استغلاله بنشاط. مسار تنفيذ التعليمات البرمجية عن بُعد يتطلب تقنية عالية ولكنه تم إثباته في ظروف المختبر وسيتم تسليحه بالتأكيد في المستقبل القريب نظرًا لعنوان لوحة النتائج الثابت المقاوم لـ ASLR.

---

## هندسة الكشف

> يشرح هذا القسم سبب اختلاف أدوات الكشف هنا بشكل كبير عن حزمة تصعيد الامتيازات المحلية النموذجية.

كانت ثغرة Copy Fail (CVE-2026-31431) ثغرة **على جانب المضيف، بعد الوصول**. كان المهاجم بحاجة إلى وجود مسبق على النظام. كان الكشف يتم بشكل أساسي على طبقة استدعاء النظام (auditd, Wazuh) مع مسح YARA للنص البرمجي للإثبات على القرص.

أما ثغرة CVE-2026-23918 فهي ثغرة **على جانب الشبكة، قبل الوصول**. يصل الاستغلال كإطارات بروتوكول HTTP/2 عبر الشبكة قبل تشغيل أي كود تطبيق. هذا يحول مجموعة الكشف بشكل كبير:

| الطبقة | Copy Fail (LPE) | CVE-2026-23918 (RCE) |
|---|---|---|
| **الكشف الأساسي** | قواعد استدعاءات النظام في Auditd | قواعد شبكة Suricata |
| **جدار حماية تطبيقات الويب (ModSecurity)** | محدود - لا يستطيع رؤية الاستغلال | ذو صلة - الكشف عن الشذوذ وما بعد الاستغلال |
| **Auditd** | كشف أساسي | كشف النتائج (تعطلات، ما بعد الاستغلال) |
| **YARA** | مسح النص البرمجي للإثبات | مسح القذائف الويب (آثار ما بعد الاستغلال) |
| **نظام كشف التسلل الشبكي** | غير قابل للتطبيق | طبقة كشف من الدرجة الأولى |
| **فحص TLS** | غير متاح | مطلوب لتغطية كاملة لـ Suricata |

القاعدة الأساسية: بالنسبة لثغرات تنفيذ التعليمات البرمجية عن بُعد على مستوى الشبكة، اعمل من الخارج إلى الداخل (شبكة ← جدار حماية تطبيقات الويب ← مضيف). بالنسبة لتصعيد الامتيازات المحلية، اعمل من المضيف إلى الخارج.

---

## حدود الكشف

> **اقرأ هذا قبل نشر أي قواعد.**

**1. TLS يُنهي رؤية HTTP/2.**
تقدم معظم خوادم Apache في الإنتاج خدمة HTTPS. لا تستطيع Suricata فحص محتويات إطارات HTTP/2 المشفرة بدون تكوين فك تشفير TLS. إذا كان نشر Suricata الخاص بك لا يملك إمكانية الوصول إلى مفاتيح جلسة TLS أو مرآة فك تشفير، فإن القواعد على مستوى الشبكة أدناه ستكتشف فقط:
- HTTP/2 النصي الصريح (h2c) — غير شائع في الإنتاج ولكنه موجود في البيئات الداخلية
- البصمة الشبكية لسلوك اتصال TCP (عدد الاتصالات، أنماط RST على طبقة TCP)

بالنسبة لنشر HTTPS، قم بتمكين فك تشفير TLS في Suricata عبر إعداد `tls-decrypt` وتسجيل مفاتيح الجلسة، أو اعتمد على طبقات جدار حماية تطبيقات الويب (ModSecurity/Coraza) والمضيف (auditd/Wazuh) بدلاً من ذلك.

**2. لا يستطيع ModSecurity حجب مشغل الاستغلال.**
يحدث التحرير المزدوج داخل محلل إطار HTTP/2، قبل تجميع طلب HTTP كامل وتمريره إلى ModSecurity. يرى جدار حماية تطبيقات الويب الطلب فقط بعد اكتمال تحليل الإطارات — عندها قد يكون الضرر قد حدث بالفعل. يتم استخدام ModSecurity في هذه الحزمة للكشف عن الشذوذ وتحديد المعدل واكتشاف ما بعد الاستغلال، وليس كحاجز للمشغل.

**3. MPM prefork غير متأثر.**
إذا كان نشر Apache الخاص بك يستخدم `mpm_prefork_module` (أحادي الخيط)، فإن هذه الثغرة لا تنطبق. يظهر الخلل فقط في وحدات MPM متعددة الخيوط (`mpm_event_module` أو `mpm_worker_module`). تحقق باستخدام `apachectl -V | grep MPM` قبل نشر قواعد قد تنتج نتائج إيجابية خاطئة على خوادم prefork.

**4. يتطلب تنفيذ التعليمات البرمجية عن بُعد مُخصص mmap.**
يتطلب مسار تنفيذ التعليمات البرمجية عن بُعد (وليس مسار رفض الخدمة) مُخصص الذاكرة mmap الخاص بـ APR، وهو الافتراضي على توزيعات Debian المشتقة وصور Docker الرسمية لـ Apache. النشر على RHEL/CentOS الذي يستخدم jemalloc أو malloc النظام لديه خطر أقل لتنفيذ التعليمات البرمجية عن بُعد، لكنه لا يزال عرضة بالكامل لرفض الخدمة.

**5. لا توجد مؤشرات اختراق مستقرة لما بعد الاستغلال حتى الآن.**
لا توجد مؤشرات اختراق منشورة من البائعين لنشاط ما بعد الاستغلال حتى كتابة هذا. قواعد YARA وقواعد auditd التي تستهدف سلوك ما بعد الاستغلال تعتمد على أنماط عامة للقذائف الويب وتصعيد الامتيازات — ستكتشف النتائج الشائعة ولكن ليس حمولة متطورة ومخصصة.

---

## التخفيف الفوري

طبق حسب ترتيب الأولوية. كل إجراء أكثر إزعاجًا من سابقه، لكنه أكثر اكتمالاً.```bash
# Option 1 (Preferred): Upgrade to 2.4.67
# See Patching & Remediation section below

# Option 2: Disable HTTP/2 in Apache config (no reboot required, restart required)
# In httpd.conf or relevant VirtualHost / site config:
#   Remove or comment out:  Protocols h2 h2c http/1.1
#   Replace with:           Protocols http/1.1
# Then:
apachectl configtest && sudo systemctl restart apache2
تنزيل الأداة