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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tcp2kaslr — CVE-2026-98432: خادم IPv4 TCP عادي معرّض للثغرة، وMPTCP ليس هو المُحفّز. مُحفّز الخطأ والأدلة والتحليل. | Kitploit
أدوات/GitHubGitHub/offline-ant/tcp2kaslr
تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالأوراق والأبحاثمختبرات وتدريب عملي
GitHuboffline-ant/tcp2kaslr

tcp2kaslr

CVE-2026-98432: خادم IPv4 TCP عادي معرّض للثغرة، وMPTCP ليس هو المُحفّز. مُحفّز الخطأ والأدلة والتحليل.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-98432

كُتب بواسطة DeepSeek.

خادم IPv4 TCP عادي معرّض للثغرة. MPTCP ليس هو المُحفِّز.

قمنا ببناء Linux 6.18.55 من tarball الإصدار وجعلنا النواة تقرأ ذاكرة مُحرَّرة على مستمع IPPROTO_TCP عادي. أبلغ KASAN عن ذلك مرتين. لم يتم إنشاء أي مقبس MPTCP قط، وفي إحدى التجارب كانت MPTCP مُعطَّلة في النواة.

الثغرة نفسها تجعل النواة تنسخ بايتات من كائن مُحرَّر إلى الرد الذي ترسله مرة أخرى. هذا هو الأساس الذي يحتاجه كسر KASLR، وقد لاحظنا حدوثه في عمل غير منشور. لم نقم ببناء تسريب لعنوان النواة، ولم نُثبت كتابة.

ما تم إثباته هنا، بالكود والسجلات: أن use-after-free حقيقي، وأن TCP القياسي يصل إليه، وأن الإصلاح في المنبع يوقفه.

التجارب

النواةMPTCPالمحاولاتالوقتالنتيجة
6.18.55، بدون إصلاحغير مستخدم134,95534 ثKASAN use-after-free
6.18.55، بدون إصلاحمُعطَّل191,43180 ثKASAN use-after-free
6.18.55 + إصلاحغير مستخدم439,316411 ثنظيف

ما مدى صعوبة إصابتها؟

صعبة جدًا. مع KASAN يكون القارئ بطيئًا، لذا تظهر الثغرة خلال بضع مئات الآلاف من المحاولات. على نواة عادية فهي أندر بكثير: عبر حوالي 48 مليون محاولة رأينا حدثين، وكلاهما خلال نفس الخمس ثوانٍ.

هذا قليل جدًا لذكر معدل. أقصى ما سنَدّعيه هو حدّ تقريبي قدره 1e-7 لكل محاولة، وحتى ذلك هو أفضل حالة، لأن أداة الاختبار لدينا تفرض الحزمتين على وحدتي معالجة (CPU) وبطاقة شبكة حقيقية عادةً ترسل تدفقًا واحدًا إلى وحدة معالجة واحدة.

لذا فإن تشغيلًا نظيفًا لا يعني نواة آمنة. اقرأ القسمين 5.2 و6 من ANALYSIS.md قبل اقتباس أي رقم.

الثغرة بكلمات بسيطة

يستقبل خادم TCP حزمة SYN. تحمل حزمة SYN خيار IPv4 (Record Route أو Timestamp). تحفظ النواة تلك الخيارات على مقبس الطلب.

تصل حزمة SYN ثانية لنفس الاتصال. تبني النواة لها SYNACK وتقرأ الخيارات المحفوظة.

في الوقت نفسه تنتهي المصافحة. يحصل المقبس الابن على نفس المؤشر، وليس نسخة. يُغلق الخادم الابن، وتُحرِّر النواة الخيارات باستخدام kfree() العادي.

لا يزال كود SYNACK يقرأ تلك الذاكرة. هذا هو use-after-free. القراءة نفسها هي ما يضع البايتات المُحرَّرة في الحزمة.

ما ليس هذا المستودع

إنه مُحفِّز ثغرة، وليس استغلالًا. لا يسرّب عناوين النواة، ولا يكتب في ذاكرة النواة، ولا يحصل على صلاحيات الجذر. إنه يُظهر النواة وهي تقرأ ذاكرة مُحرَّرة؛ KASAN هو الحكم.

يتوقف المستودع عند هذا الحد عن قصد. تم العمل على المراحل اللاحقة بشكل خاص وهي غير منشورة هنا.

إعادة إنتاجها

scripts/get-kernel.sh              # fetch 6.18.55, sha256 checked, into linux/
scripts/build-kernel.sh vuln       # KASAN kernel, no fix
scripts/build-kernel.sh patched    # KASAN kernel, with the fix
scripts/build-harness.sh           # builds harness/init + initramfs
scripts/run.sh vuln 90 selftest    # checks the wiring only
scripts/run.sh vuln 600            # expect a KASAN report
scripts/run.sh patched 600         # expect nothing

تحتاج إلى gcc وmake وbison وflex وbc وqemu-system-x86_64. يساعد KVM كثيرًا. تستهلك الآلة الافتراضية 2 GB من الذاكرة العشوائية و8 وحدات vCPU.

قد لا يُظهر تشغيل واحد شيئًا. هذا ليس دليلًا على نواة آمنة. شغّله عدة مرات، واقرأ التحذيرات في ANALYSIS.md.

تحقق من نواتك الخاصة

لا تثق بسلسلة الإصدار. انظر إلى الشيفرة في الملف الثنائي.

scripts/check-free-sites.py

يجد الموقعين الحرّين في النواة قيد التشغيل ويُظهر أي دالة يستدعيها كل منهما: kfree (سيئ) أو kvfree_call_rcu (مُصلَح).

على الجهاز الذي كُتب هذا عليه (6.18.59_1) يستخدم الموقعان kvfree_call_rcu، لذا فإن تلك النواة مُصلَحة.

من هو المعرّض للخطر

يكون المضيف معرّضًا إذا تحققت الشروط الثلاثة جميعًا:

  1. أنه يستمع على IPv4 TCP، و
  2. أن النظير يرسل SYN مع خيارات IP، و
  3. أن البرنامج يغلق المقبس المقبول قريبًا.

المُهاجم يتحكم في النقطة 2. لذا فإن معظم خوادم الإنترنت معرّضة، و"نحن لا نستخدم MPTCP" لا يساعد.

ملاحظتان:

  • accept_source_route=0 لا يحميك. فهو يحجب التوجيه المصدري فقط، وليس Record Route أو Timestamp.
  • إذا لم تستطع الترقيع بعد، فأسقِط حزم SYN الواردة التي تحمل خيارات IP. عندئذٍ لن تحفظ النواة الخيارات لمقبس الطلب أبدًا. الترقيع أفضل.

الملفات

المسارالوصف
ANALYSIS.mdالتقرير الكامل: مسار المصدر، والمنهجية، والنتائج، والحدود
harness/مُحرّض الخلل الذي يعمل كـ /init في QEMU
patches/الإصلاح من المنبع، المستخدم في بناء التحكم
scripts/مساعدات الجلب والبناء والتشغيل والفحص
evidence/تقارير KASAN، وسجلات التشغيل، ومقارنة البناء

النطاق

نوى الاختبار فقط، وفقط تلك التي تملكها. لا ينبغي توجيه أي شيء هنا إلى أنظمة لا تتحكم بها.

الترخيص

MIT لكودنا ونصّنا. يحتوي patches/ على إيداع في نواة Linux ويبقى تحت GPL-2.0. انظر LICENSE.

تنزيل الأداة