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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-98432-mitigation — يقوم بتدقيق نوى Debian/Ubuntu بحثًا عن CVE-2026-98432 ويطبّق تخفيفات nftables وsysctl دائمة، ثم يوجّه عملية ترقية النواة والتراجع عنها. | Kitploit
أدوات/GitHubGitHub/igreklg/cve-2026-98432-mitigation
أدوات دفاعيةتحليل الثغرات الأمنيةالبرمجة النصية والأتمتةتدقيق التكوينأمن الشبكاتسوء التكوينالاستجابة للحوادث
GitHubigreklg/cve-2026-98432-mitigation

cve-2026-98432-mitigation

يقوم بتدقيق نوى Debian/Ubuntu بحثًا عن CVE-2026-98432 ويطبّق تخفيفات nftables وsysctl دائمة، ثم يوجّه عملية ترقية النواة والتراجع عنها.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-98432: تدقيق وحماية مؤقتة لـ Debian / Ubuntu

يتحقق السكربت مما إذا كانت النواة مصححة من CVE-2026-98432 (use-after-free في معالجة IPv4 TCP، CVSS 9.8). إذا لم تكن النواة مصححة، فإنه يفعّل فورًا حماية مؤقتة ويساعد في تثبيت تحديث النواة.

الحماية تقلل المخاطر لكنها لا تزيل الثغرة. الحل الكامل واحد: تثبيت نواة مصححة وإعادة التشغيل. وفقًا لتقييم Red Hat، فإن تصفية الحزم ذات خيارات IP لا تستبعد الاستغلال بالكامل.

عن الثغرة

  • موضع الخطأ. عند إنشاء اتصال TCP، تمرر tcp_v4_syn_recv_sock() قيمة ireq_opt إلى المقبس الفرعي دون نسخ، بينما تحررها inet_sock_destruct() باستخدام kfree() العادي. SYN المتكرر، الذي تتم معالجته في تلك اللحظة على نواة معالج أخرى، يصل إلى ذاكرة محررة بالفعل في ip_options_build().
  • من يمكنه الهجوم. أي عقدة يمكنها الوصول إلى منفذ TCP مفتوح، دون مصادقة. يتطلب الهجوم SYN مع خيارات IPv4 Record Route أو Timestamp.
  • المسار الثاني المعرض للثغرة. ترحيل الطلبات بين مقابس الاستماع: net.ipv4.tcp_migrate_req=1 أو برنامج BPF BPF_SK_REUSEPORT_SELECT_OR_MIGRATE.
  • دور MPTCP. يستهدف الاستغلال المنشور مستمع MPTCP. برامج Go 1.24+ تستمع افتراضيًا عبر MPTCP. لكن الخطأ نفسه غير مرتبط بـ MPTCP.
  • الإصدارات المتأثرة. النوى بدءًا من 4.4. الإصلاح في المنبع: ipv4: free inet_opt and ireq_opt after an RCU grace period (e3f33b0a1d89).
فرع stableتم الإصلاح في
5.105.10.272
5.155.15.223
6.16.1.190
6.66.6.159
6.126.12.113
6.186.18.56
7.27.2.10
mainline7.3

الحالة في التوزيعات اعتبارًا من 2 نوفمبر 2026:

  • Debian 12: مصححة في linux 6.1.190-1 (DLA-4841-1) وlinux-6.12 6.12.113-1~deb12u1 (DLA-4850-1).
  • Debian 13: مصححة في linux 6.12.113-1 (DSA-6568-1).
  • Ubuntu 22.04 و24.04 وما أحدث: لم يصدر الإصلاح بعد. Ubuntu 16.04–20.04: مدرجة كمعرضة للثغرة، ولا يوجد إصلاح.

ما الذي يفعله السكربت

  1. التدقيق. يحدد ما إذا كانت النواة قيد التشغيل وكل نواة مثبّتة قد تم إصلاحها (انظر قسم «كيف يتم تحديد حالة الإصلاح»).
  2. الحماية إذا لم تكن النواة مصلحة. تُفعَّل كخطوة أولى: بدون شبكة، وبدون أسئلة، وقبل أي وصول إلى apt.
    • تُسقط حزم IPv4 TCP الواردة التي تحمل خيارات IP (IHL > 5) في خطاف prerouting بأولوية raw (−300)، أي قبل أن تقوم النواة بتحليل الخيارات. يُستخدم nftables، وإذا لم يكن متاحًا فـ iptables مع وحدة u32.
    • تضبط net.mptcp.enabled = 0. مع ذلك تبقى مقابس MPTCP المفتوحة بالفعل MPTCP، لذا يسردها السكربت كي تعيد تشغيل تلك الخدمات.
    • تضبط net.ipv4.tcp_migrate_req = 0 إذا كانت القيمة 1.
    • تجعل الحماية دائمة: وحدة systemd، وإعادة التطبيق بعد إعادة تحميل nftables / netfilter-persistent / firewalld، وفحص عبر مؤقت كل 5 دقائق.
  3. تحديث النواة. يبحث عن التحديثات ويتحقق مما إذا كان الإصلاح موجودًا في نواة جديدة محددة وليس في الحزمة الفوقية. ثم يقترح التثبيت، والافتراضي «نعم». يُوصى بتحديث النواة حتى لو لم يتم تأكيد وجود الإصلاح فيها: فهو يغلق ثغرات أخرى.
  4. الخلاصة. يطبع الحالة الفعلية كما أعيدت قراءتها من النظام، وينتهي برمز خروج واضح.

إذا كانت النواة قيد التشغيل مصلحة بالفعل، فلن يغيّر السكربت شيئًا وسيرشدك إلى كيفية إزالة الحماية المفعّلة سابقًا.

المتطلبات

  • Debian 11/12/13، Ubuntu 20.04/22.04/24.04 والمشتقات. لم تعد Debian 11 وUbuntu 20.04 بدون Ubuntu Pro تتلقى إصلاحات النواة: سيفعّل السكربت الحماية عليهما، لكنه لن يجد تحديثات.
  • صلاحيات root.
  • nftables (موصى به) أو iptables. تتطلب الحماية الدائمة systemd.

الاستخدام

git clone https://github.com/IgrekLg/cve-2026-98432-mitigation.git
cd cve-2026-98432-mitigation
sudo bash mitigate-cve-2026-98432.sh            # аудит, защита, предложение обновить ядро
sudo bash mitigate-cve-2026-98432.sh --status   # только посмотреть, ничего не меняя
المفتاحالإجراء
--statusعرض الحالة فقط
--uninstallإزالة الحماية وإعادة قيم sysctl الأصلية (إذا لم تكن النواة مُصلحة، سيطلب التأكيد)
-y, --yesبدون أسئلة: تثبيت تحديث النواة، تأكيد --uninstall
--no-upgradeعدم الاتصال بـ apt: التدقيق والحماية فقط
--forceتفعيل الحماية حتى لو كانت النواة مُصلحة بالفعل
--keep-mptcpعدم تعطيل MPTCP
--keep-tcp-migrateعدم المساس بـ net.ipv4.tcp_migrate_req

إذا لم تكن هناك طرفية (Ansible، cron، ssh بدون -t) ولم يُحدَّد --yes، فإن الحماية تُفعَّل مع ذلك، ويُتخطى تثبيت النواة مع تلميح.

رموز الإرجاع

الرمزالمعنى
0النواة قيد التشغيل مُصلحة أو غير متأثرة
3النواة غير مُصلحة، الحماية نشطة: يلزم التحديث وإعادة التشغيل
4النواة غير مُصلحة، الحماية غير نشطة
1خطأ
2وسائط غير صحيحة

مثال لـ Ansible:

- name: CVE-2026-98432 mitigation
  ansible.builtin.script: mitigate-cve-2026-98432.sh --yes
  register: cve
  failed_when: cve.rc not in [0, 3]
  changed_when: false

كيف يتم تحديد ما إذا كانت النواة مصححة

تتم الفحوصات بالترتيب:

  1. سجل التغييرات (Changelog) لحزمة النواة. إذا ذُكر فيه CVE-2026-98432 أو عنوان الـ commit المُصلح، فإن النواة مصححة.
  2. Debian والمشتقات ذات الإصدارات من الشكل 6.1.190-1. يُقارن الجزء العلوي (upstream) من الإصدار بالجدول أعلاه. تتلقى Debian الإصلاحات عبر تحديثات stable، ولا يُذكر رقم CVE في سجل التغييرات دائمًا.
  3. Ubuntu. رقم الإصدار (5.15.0-NNN) لا يعكس فرع stable، لذلك تُعتبر النواة مصححة فقط بناءً على سجل التغييرات. بدونه تكون الحالة «الإصلاح غير مؤكد»، ويُفعَّل الحماية. إضافةً إلى ذلك يُعرض pro fix CVE-2026-98432 --dry-run.
  4. نواة ليست من حزمة (mainline أو بناء خاص): يُقارن الإصدار من uname -r. تُعتبر النوى المرشحة (-rc) غير معروفة.

جدول الإصدارات المصححة مضمّن في السكربت (FIXED_IN، بيانات بتاريخ 2026-11-02). بالنسبة للتوزيعات المشتقة ذات نوى خاصة بها (Proxmox وغيرها)، راجع نشرة المورّد.

ما الذي يتم تثبيته

المسارالغرض
/usr/local/sbin/cve-2026-98432-fwالمساعد: apply / ensure / remove / check
/etc/cve-2026-98432/mitigation.nftقاعدة nftables (الجدول ip cve_2026_98432)
/etc/systemd/system/cve-2026-98432-mitigation.serviceتطبيق القاعدة عند الإقلاع، قبل network-pre.target
/etc/systemd/system/cve-2026-98432-mitigation-check.{service,timer}فحص كل 5 دقائق، يستعيد القاعدة إذا حذفها أحدهم (تسجيل في syslog)
/etc/systemd/system/{nftables,netfilter-persistent,firewalld}.service.d/50-cve-2026-98432.confإعادة التطبيق بعد (إعادة) تحميل القواعد بواسطة هذه الخدمات؛ تُنشأ فقط للخدمات المثبتة
/etc/sysctl.d/99-zz-cve-2026-98432.confsysctl؛ اختير الاسم بحيث يُقرأ الملف بعد /etc/sysctl.conf
/var/lib/cve-2026-98432/sysctl.origقيم sysctl الأصلية لـ --uninstall

تُحذف ملفات الإصدار السابق من السكربت (mitigate-CVE-2026-98432.service، 99-CVE-2026-98432.conf ونسخ قاعدة iptables المكررة) تلقائيًا.

الآثار الجانبية والقيود

  • حزم مع خيارات IP. يتم إسقاط جميع حزم IPv4 TCP الواردة التي تحتوي على خيارات. هذه الحزم نادرة الوجود على الإنترنت، لكن الشبكات ذات علامات CIPSO (SELinux MLS، labeled networking) ستتوقف عن العمل. لا تشغّل السكربت على هذه المضيفات: عطّل MPTCP يدويًا وحدّث النواة.
  • IPv4 فقط. الخطأ الأساسي في IPv6 لا يمسّها: tcp_v6_syn_recv_sock() ينسخ الخيارات.
  • الترحيل عبر BPF. لا يستطيع السكربت اكتشاف برامج BPF_SK_REUSEPORT_SELECT_OR_MIGRATE، تحقق منها يدويًا.
  • نافذة بلا حماية. بعد systemctl stop nftables (أو أي nft flush ruleset خارج الخدمات) لا تعود القاعدة فورًا، بل وفق المؤقّت، خلال 5 دقائق.
  • خدمات Go. بالنسبة للبرامج المكتوبة بـ Go يمكن إضافةً إلى ذلك تعيين GODEBUG=multipathtcp=0. فريق أمان Go نفسه يصف تعطيل MPTCP حسب البرامج بأنه إجراء غير موثوق.

إزالة الحماية

بعد إعادة التشغيل في نواة مُصلحة:

sudo bash mitigate-cve-2026-98432.sh --uninstall

الاختبارات

# логика определения версий, без изменений в системе
bash tests/test-logic.sh

# фильтр в изолированном сетевом пространстве имён (хост не затрагивается):
# ожидается plain=ok options=blocked при включённом правиле
sudo unshare -n sh -c 'python3 tests/netns-probe.py up && nft -f /etc/cve-2026-98432/mitigation.nft && python3 tests/netns-probe.py probe'

المصادر

تنزيل الأداة