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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-99999 — إثبات مفهوم للمحاكاة فقط لـ CVE-2026-99999، وهو خلل في التحقق من صحة csum_start في virtio-net IPv4 ضمن نواة Linux يتيح الكشف عن ذاكرة الكومة من الضيف إلى المضيف. | Kitploit
أدوات/GitHubGitHub/01luyicheng/cve-2026-99999
تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالأمن الشبكاتالتعلم والتعليم
GitHub01luyicheng/cve-2026-99999

CVE-2026-99999

إثبات مفهوم للمحاكاة فقط لـ CVE-2026-99999، وهو خلل في التحقق من صحة csum_start في virtio-net IPv4 ضمن نواة Linux يتيح الكشف عن ذاكرة الكومة من الضيف إلى المضيف.

عرض المستودع
513منذ 17 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-99999 (PwnEscape) — إثبات مفهوم لخطأ التحقق من صحة csum_start في نواة لينكس عبر IPv4

تسريب معلومات من نواة لينكس عبر بيانات تعريف المجموع الاختباري المشوّهة في virtio-net.
CVSS 9.3 حرج | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
اكتُشف بواسطة Paulos | CNA: kernel.org | تاريخ النشر: 2026-10-15

⚠️ هذا إثبات مفهوم تعليمي / للتحقق. يعمل في وضع --simulate فقط (لا يوجد إدخال/إخراج شبكي، ولا حاجة لصلاحيات الجذر). يوضّح سلسلة الهجوم محليًا دون استغلال أي نظام حي.


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

  1. ملخص الثغرة
  2. التفاصيل التقنية
  3. الإصدارات المتأثرة
  4. البدء السريع
  5. الخيارات
  6. كيف يعمل
  7. سيناريوهات الهجوم
  8. مراجعة الكود
  9. التخفيف
  10. المراجع
  11. إخلاء المسؤولية القانونية

ملخص الثغرة

يمكن لجهاز افتراضي ضيف إرسال إطار virtio-net يحمل فيه virtio_net_hdr القيمة csum_start == 0 — أي يشير إلى ترويسة IPv4 بدلًا من ترويسة النقل. أثناء تقسيم GSO على المضيف، تعيد skb_checksum_help() حساب المجموع الاختباري الذي يغطي [csum_start, csum_start + csum_offset + 2) وتكتب النتيجة مرة أخرى إلى csum_start + csum_offset.

عندما يكون csum_start = 0 وcsum_offset = 0، تهبط الكتابة على بايت IHL (إزاحة IP 0)، فتُفسده من 0x45 (IHL 5 → 20 بايت) إلى 0x4F (IHL 15 → 60 بايت). عندها تقرأ ip_do_fragment() في النواة 60 بايت من ترويسة IP بينما لا يوجد سوى 20 بايت — فتسحب ~32–64 بايت من ذاكرة الكومة المجاورة في نواة المضيف إلى كل قطعة صادرة.

التأثير: تسريب مستمر لذاكرة كومة نواة المضيف من الضيف إلى المضيف.

سطح الهجوم: مضيفات KVM/QEMU المزوّدة ببطاقات شبكة virtio-net مع تفعيل جسر TAP، أو أي مسار اتصال من الجهاز الافتراضي إلى المضيف حيث يعالج المضيف إطارات virtio-net عبر GSO.


التفاصيل التقنية

تخطيط بايتات ترويسة IP (RFC 791)

الإزاحةالحقلcsum_offset=0 يُفسدcsum_offset=6 يُفسد
0الإصدار + IHL✅ بايت IHL
1TOS
2–3الطول الإجمالي
4–5المعرّف
6–7الأعلام / إزاحة القطعة✅ الأعلام/إزاحة القطعة (الأدنى)
8TTL
9البروتوكول
10–11المجموع الاختباري للترويسة
12–15عنوان IP المصدر
16–19عنوان IP الوجهة

سلسلة الهجوم

Guest VM
  → constructs virtio_net_hdr with csum_start=0 (pointing at IP header)
  → sends frame through virtio-net to host
Host kernel (GSO segmentation path)
  → skb_checksum_help() called
  → writes checksum result to csum_start + csum_offset
  → if csum_offset=0: writes IHL byte (0x45 → 0x4F)
  → ip_do_fragment() reads 60B header when only 20B exist
  → ~32–64B heap memory included in each outbound fragment

مساران للتلف

csum_offsetالحقل المتلفالنتيجةمتجه CVSS
0 (افتراضي)بايت IHL (الإزاحة 0)قراءة خارج حدود الكومة → تسريب ذاكرةالكشف عن المعلومات
6Flags/FragOffset (الإزاحة 6)تعطيل إعادة تجميع الأجزاءالتوافر

الإصدارات المتأثرة

جميع إصدارات نواة Linux قبل التزامات الإصلاح.

غير متأثرة (مُرقَّعة): 5.10.272+، 5.15.223+، 6.1.190+، 6.12.113+، 6.18.57+، 7.2.11+

تحقق من إصدار نواتك:

uname -r
cat /proc/version

البدء السريع

المتطلبات: Python 3.6+ فقط. لا حزم pip، لا شبكة، لا صلاحيات جذر.

# Clone
git clone https://github.com/01luyicheng/CVE-2026-99999.git
cd CVE-2026-99999

# Run — IHL corruption / heap-leak simulation (CVSS 9.3 path, default)
python3 CVE-2026-99999_pwnescape.py --simulate

# Simulate with 5 datagrams and 8 fragments each
python3 CVE-2026-99999_pwnescape.py --simulate -n 5 -f 8

# Flags/FragOffset corruption path (fragment reassembly disruption)
python3 CVE-2026-99999_pwnescape.py --simulate -c 6

بدون --simulate، يطبع السكربت وصف الثغرة الكامل ثم يخرج:

python3 CVE-2026-99999_pwnescape.py

الخيارات

العلامةالوصفالافتراضي
--simulateتشغيل محاكاة سلسلة الاستغلال (مطلوب)—
-c, --csum-offset0 = بايت IHL (قراءة خارج الحدود، الافتراضي)؛ 6 = Flags/FragOffset0
-n, --num-packetsعدد مخططات البيانات المراد محاكاتها3
-f, --fragmentsعدد الأجزاء لكل مخطط بيانات (الحد الأدنى 2)4

كيف يعمل

تعمل المحاكاة في 5 خطوات (لا حاجة إلى شبكة):

  1. الخطوة 1 — بناء الحزمة: يُنشئ حزمة Ethernet + IPv4 + UDP صالحة.
  2. الخطوة 2 — إرفاق virtio_net_hdr خبيث: يضيف virtio_net_hdr مع csum_start=0 (يشير إلى بايت IHL الخاص بـ IPv4) وcsum_offset قابل للتكوين.
  3. الخطوة 3 — محاكاة تلف skb_checksum_help(): يحاكي محليًا الكتابة التي يجريها النواة على csum_start + csum_offset، موضحًا أي بايت من ترويسة IP يُكتب فوقه وإلى أي قيمة.
  4. الخطوة 4 — إظهار تأثير الأجزاء: يعيد بناء كل جزء GSO مع ترويسة IP التالفة، موضحًا الحقل المتأثر.
  5. الخطوة 5 — إخراج النتائج: يطبع أحجام الأجزاء الناتجة، وبالنسبة لمسار IHL (csum_offset=0)، يلاحظ تسرب ذاكرة الكومة بحجم ~32–64B.

سيناريوهات الهجوم

السيناريو أ: تلف IHL ← تسرب ذاكرة الكومة (CVSS 9.3)

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 0

csum_start=0, csum_offset=0 → يقع الكتابة على بايت IHL → IHL من 5 إلى 15 → يقرأ ip_do_fragment() 60 بايت بينما لا يوجد سوى 20 بايت → تسريب ~32–64 بايت من ذاكرة الكومة لكل جزء (fragment).

السيناريو ب: إفساد Flags/FragOffset → تعطيل إعادة التجميع

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 6

csum_start=0, csum_offset=6 ← يقع الكتابة على بايت Flags/FragOffset ← تلف بيانات إعادة تجميع الأجزاء الوصفية ← فشل إعادة تجميع الأجزاء.


التحقق ومراجعة الكود

تمت مراجعة هذا PoC بشكل مستقل. النتائج الرئيسية:

  • منطق سلسلة الهجوم دقيق تمامًا؛ تم التحقق من تخطيط ترويسة IP (RFC 791)
  • التحقق من المدخلات مكتمل؛ لا أعطال في الحالات الحدية
  • لا يوجد إدخال/إخراج شبكي؛ يعمل دون اتصال بالكامل؛ لا يتطلب صلاحيات root
  • متوافق مع وصف NVD وتقييم CVSS 9.3
  • درجة المراجعة الإجمالية: 8.7/10 — جاهز للإنتاج للاستخدام التعليمي.

تُحفظ تقارير المراجعة التقنية الكاملة في المستودع الداخلي (CVE-2026-99999-internal) لأسباب أمنية.


التخفيف

  • طبّق تصحيحات أمان النواة من أشجار kernel.org المستقرة
  • قم بالترقية إلى 5.10.272+ أو 5.15.223+ أو 6.1.190+ أو 6.12.113+ أو أحدث
  • راجع إعدادات virtio-net على مضيفات KVM/QEMU؛ عطّل جسر TAP إذا لم يكن مطلوبًا
  • استخدم المحاكاة الافتراضية الجزئية virtio-net بدلاً من جسر TAP حيثما أمكن

تحقق من حالة التصحيح:

# Check if your kernel has the fix (look for commit 6785011f8b16abf40b1e9d8b2)
cat /proc/config.gz 2>/dev/null | zcat | grep CONFIG_IPV4
# Or check dmesg for related errors after heavy network activity from a VM

المراجع

  • NVD: nvd.nist.gov/vuln/detail/CVE-2026-99999
  • Kernel.org fix commits: 6785011f8b16abf40b1e9d8b2 (stable trees), f43798c27684 (mainline)
  • LKML: Michael S. Tsirkin <[email protected]> patch series
  • Linux kernel source: git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

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

هذه الأداة مخصصة حصريًا للبحث الأمني المصرّح به والتعليم في بيئات معزولة وخاضعة للتحكم المخبري.

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

سجل التغييرات

تنزيل الأداة