
مجموعة أدوات لثغرة use-after-free في Linux TCP ذات المعرّف CVE-2026-98432: فحص تصحيحات النواة، واستدعاء أوراكل التسابق، وتحليل UAF في ملفات pcap، واستعادة إزاحة KASLR، وتقوية nftables.

للاستخدام الأخلاقي فقط – اختبار أمني مُصرَّح به
يوفّر هذا المستودع أدوات لمتخصصي الأمن المُصرَّح لهم، وفرق الدفاع (blue teams)، ومختبري الاختراق فقط. الوصول غير المُصرَّح به إلى أنظمة الحاسوب غير قانوني بموجب CFAA (الولايات المتحدة)، وقانون إساءة استخدام الحاسوب (المملكة المتحدة)، وTCK 243/244 (تركيا)، وقوانين مماثلة حول العالم.

CVE-2026-98432 هي ثغرة استخدام بعد التحرير (use-after-free) في حزمة IPv4 TCP لنواة Linux. تؤدي حزمة SYN الواردة التي تحمل خيارات IPv4 إلى قيام النواة بحفظ نسخة من تلك الخيارات على مقبس الطلب (request socket). وإذا أُعيد إرسال حزمة SYN في اللحظة المناسبة، فقد تُحرِّر إحدى وحدات المعالجة (CPU) تلك النسخة بينما لا تزال وحدة أخرى تقرأها لبناء حزمة SYN-ACK، مما يؤدي إلى استخدام بعد التحرير في ip_options_build().
يوجد مُحفِّز ثانٍ عندما ينقل الخادم طلبات الاتصال المعلّقة بين المقابس (net.ipv4.tcp_migrate_req=1، أو برنامج BPF_SK_REUSEPORT_SELECT_OR_MIGRATE). يشترك المُحفِّزان في السبب الجذري نفسه: إذ تُحرِّر كلٌّ من inet_sock_destruct() وtcp_v4_reqsk_destructor() الخيارات باستخدام kfree() عادية بدلاً من انتظار فترة سماح RCU.
tcp_v4_save_options() خيارات IPv4 الواردة (ireq_opt) على مقبس الطلب.tcp_v4_syn_recv_sock() قيمة ireq_opt إلى المقبس الابن دون نسخها.inet_sock_destruct() قيمة inet_opt باستخدام kfree() عادية.tcp_v4_send_synack() → ip_options_build()، التي تقرأ الخيارات المحرَّرة بالفعل.الإصلاح في المصدر الأصلي هو الالتزام e3f33b0a1d89 ("ipv4: free inet_opt and ireq_opt after an RCU grace period")، الذي يحوّل كلا التحريرين إلى kfree_rcu(). لا تتأثر IPv6 بالمشكلة الرئيسية.
5.15.0-xxx بأرقام المصدر الأصلي. تحقّق من متتبّع الأمان الخاص بالمورّد.| التاريخ | الملاحظة | المصدر |
|---|---|---|
| 2026-11-04 | لا يزال Ubuntu 22.04 LTS (والإصدارات الأحدث) يحتوي على الإصلاح في -proposed فقط؛ ويظل مستخدمو -updates القياسيون على نواة معرّضة للثغرة حتى يتم ترقية الإصلاح. MPTCP مُفعَّل افتراضيًا على الإصدارات المتأثرة، رغم أن العلة ليست خاصة بـ MPTCP. | Ubuntu CVE Tracker · Ubuntu Blog – Fixes in -proposed |
| 2026-11-02 | تؤكد AWS أن العيب يؤثر على نواة Linux 4.4+ وأن مخططات Lightsail المبنية على Ubuntu مشمولة؛ والتخفيف هو تثبيت نواة مُرقَّعة أو تطبيق قاعدة جدار حماية مؤقتة تُسقط حزم TCP IPv4 التي تحمل خيارات IP. | AWS Docs – Address CVE-2026-98432 on Lightsail |
| 2026-10-15 | الإعلان الرسمي عن CVE الخاص بالنواة: السبب الجذري هو غياب فترة سماح RCU قبل kfree() لـ inet_opt / ireq_opt؛ تم إصلاحه في 5.10.272، 5.15.223، 6.1.190، 6.6.159، 6.12.113، 6.18.56، 7.2.10، 7.3-rc7. | Linux CVE Announce – Openwall |
ملاحظة: تؤكد هذه الملاحظات التعرّض (نواة معرّضة + MPTCP افتراضي على Ubuntu القياسي) وحالة الإصلاح الرسمي؛ وهي ليست تأكيدًا على أن الاستغلال في هذا المستودع قد نُفِّذ بنجاح على أي مضيف محدد.
| الأداة | الغرض | المستخدم المستهدف |
|---|---|---|
cve_2026_98432 | مجموعة أدوات للفريق الأحمر والفريق الأزرق. فحوصات المصدر والتصحيح وقت التشغيل، واستكشاف الشبكة، ومُحقِّق سباق مع كشف إعادة استخدام العلامات، وتحليل pcap، واستعادة إزاحة KASLR، وإرشادات التخفيف. أمر واحد مع قائمة تفاعلية أو أعلام مباشرة. | الفرق الحمراء، الفرق الزرقاء، مختبرو الاختراق المصرَّح لهم |
--check | فحص إصدار النواة المحلي وشجرة المصدر. | الفرق الزرقاء، المدققون |
--probe | التأكد من إمكانية الوصول إلى مستمع TCP وأن خيارات SYN الخاصة بـ IPv4 تصل إلى المكدس. | الفرق الحمراء، الفرق الزرقاء |
--race | مُحقِّق سباق قائم على العلامات. يرسل حزم SYN مصممة ويفحص SYN-ACK بحثًا عن إعادة استخدام العلامات عبر التدفقات. | الفرق الحمراء (Prob) |
--pcap | تحليل pcap دون اتصال. يكشف أدلة UAF ومرشحي مؤشرات النواة. | الفرق الزرقاء (Partial) |
--map | استعادة إزاحة KASLR من مؤشرات النص المسرَّبة باستخدام System.map. | الفرق الحمراء (Partial) |
--harden | تطبيق أو معاينة التخفيفات (إيقاف MPTCP، إيقاف الترحيل، إسقاط خيارات IP). | الفرق الزرقاء (Prob) |
| التسمية | المعنى |
|---|---|
| (بدون تسمية) | حتمي. نفس المدخل، نفس المخرج. |
| (Prob) | يمكن أن تتفاوت نتائج السباق بين التشغيلات. تكرر الأداة المحاولات لمدة محدودة. |
| (Partial) | يعتمد على مدخل صحيح. تعمل الأداة عند توفير pcap صالح أو System.map مطابق. |
| الميزة | الحالة | ملاحظات |
|---|---|---|
| فحص تصحيح شجرة المصدر | حتمي | يقرأ af_inet.c وtcp_ipv4.c، ويبحث عن kfree_rcu في كلا المُدمِّرين. |
| فحص النواة قيد التشغيل | حتمي | يقارن uname -r مع جدول الإصدارات المُصحَّحة. |
| مسبار الشبكة | حتمي | يفتح اتصال TCP ويرسل طلب HTTP بسيطًا. |
| أوراكل التسابق | (Prob) | يرسل حزم SYN مُصمَّمة، ويراقب إعادة استخدام العلامة في حزم SYN-ACK. يتطلب صلاحيات root وCAP_NET_RAW. |
| تحليل Pcap | (جزئي) | يحلّل ملف pcap، ويبحث عن إعادة استخدام العلامة عبر التدفقات ومرشّحات مؤشرات النواة. |
| استعادة إزاحة KASLR | (جزئي) | يحتاج إلى System.map مطابق ومرشّح text واحد مسرَّب على الأقل. |
| تطبيق التخفيف | (Prob) | يكتب قواعد nftables وإعدادات sysctl. تُسقِط القاعدة حزم IPv4 TCP التي تحمل خيارات IP. |
| المسح الشامل | حتمي | CIDR أو ملف أو هدف واحد. غير متزامن مع تحديد المعدل وإخراج التقدم. |
| JSON / JSONL / CSV | حتمي | يُختار حسب امتداد ملف الإخراج. |
| Proxy / Tor / jitter | حتمي | يُطبَّق على كل عملية شبكية. |
| الاستئناف | حتمي | يحفظ أزواج target:port المكتملة في ملف حالة. |
git clone https://github.com/tc4dy/CVE-2026-98432-PoC-Exploit
cd CVE-2026-98432-PoC-Exploit
# No requirements; no extra pip packages needed.
ابدأ مجموعة الأدوات من جذر المستودع:
python -m cve_2026_98432
بدون معاملات، يفتح قائمة تفاعلية: