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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kpatch-cve-2026-98432 — kpatch livepatch لـ CVE-2026-98432 (و CVE-2026-99999) على AlmaLinux وRocky Linux 8 و9 و10 | Kitploit
أدوات/GitHubGitHub/nsrg-fmlorg/kpatch-cve-2026-98432
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالالبرمجة النصية والأتمتةالأدوات والمكونات
GitHubnsrg-fmlorg/kpatch-cve-2026-98432

kpatch-cve-2026-98432

kpatch livepatch لـ CVE-2026-98432 (و CVE-2026-99999) على AlmaLinux وRocky Linux 8 و9 و10

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

الأكثر شعبية

عرض الكل →

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

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

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

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

وحدة kpatch livepatch لـ CVE-2026-98432 على AlmaLinux وRocky Linux

日本語

وحدات livepatch التي تُصلح CVE-2026-98432 على مضيف AlmaLinux أو Rocky Linux 8 أو 9 أو 10 قيد التشغيل (x86_64) دون إعادة تشغيل. على الأنوية التي تفتقر أيضًا إلى الإصلاح الخاص بـ CVE-2026-99999، تُصلح الوحدة نفسها ذلك أيضًا، لذا يحتاج المضيف إلى وحدة واحدة أيًّا كان الإصلاح الذي يفتقده نواته من الاثنين.

الحالة (2026-11-02): كل وحدة مبنية ومُختبرة التحميل؛ لم تُصدر أي منها بعد، لذا لا يوجد شيء لتطبيقه. يأتي الإصدار التالي، واختبار الأمر أحادي السطر على كل وحدة مُصدرة؛ حتى ذلك الحين لا يحتوي scripts/livepatch.sh على أي وحدات في جدوله ويرفض كل نواة.

الأنوية

684 نواة: 380 من AlmaLinux و304 من Rocky Linux، من 8.3 إلى 10.2، مُدرجة في tools/kernels.tsv. وهي كل نواة تتوفر حزمة SRPM الخاصة بها ومعلومات التصحيح (debuginfo) على مرايا التوزيعة (بما في ذلك vault)، x86_64 فقط، باستثناء نواة Rocky ‏5.14.0-611.41.1.el9_7 التي لا توجد معلومات تصحيحها على أي مرآة. وتشمل نواة Rocky الوحيدة من 8.3، ‏4.18.0-240.22.1.el8، التي لم يغطها مستودع Rocky السابق، والأنوية التي أصدرها كلا التوزيعين بعد المستودعات السابقة، حتى 4.18.0-553.180.1.el8_10 (AlmaLinux)، و5.14.0-687.61.1.el9_8 و6.12.0-211.69.1.el10_2. لا يُغطى متغيّر x86_64_v2 الخاص بـ AlmaLinux 10.

666 من أصل 684 تفتقر أيضًا إلى الإصلاح الخاص بـ CVE-2026-99999، ووحدتها تحمل كليهما. أما الـ 18 الأخرى فتمتلكه بالفعل (من AlmaLinux ‏4.18.0-553.177.1.el8_10 وRocky ‏553.178.1.el8_10، ومن 5.14.0-687.59.1.el9_8 و6.12.0-211.67.1.el10_2 على كليهما)، ووحدتها تحمل تغيير CVE-2026-98432 وحده.

ما تم اختباره

بُنيت كل وحدة في CI وطُبّقت باستخدام scripts/livepatch.sh على نواتها المُصدَرة في جهاز ظاهري (tools/loadtest.sh)، في 2026-10-31، بتشغيل واحد لكل توزيعة وإصدار فرعي، أي 40 تشغيلًا؛ وطبع جميع الـ 684 ‏RESULT: PASS. في كل منها:

  • inet_sock_destruct وtcp_v4_reqsk_destructor مُدرجتان كدالتين مُرقّعتين في vmlinux.
  • 2,000 اتصال TCP عبر loopback من مقبس مع ضبط خيارات IP، و2,000 SYN مجرّد يحمل خيارات IP من مقبس خام، جرى تشغيلها دون خطأ ودون تحذير من النواة (tools/tcpopt.py). وهذا يُشغّل كلا التحريرين اللذين يغيّرهما الإصلاح مع وجود الخيارات؛ وبدون خيارات IP لا يُحرّران سوى NULL.
  • حيث تحمل الوحدة جزء CVE-2026-99999، فإنه يسري على vmlinux وnfnetlink_queue وxt_CHECKSUM (وعلى 9 و10 على nf_conntrack_bridge). على 8 و9 (511 نواة، ونواة Rocky من 8.3) جرى تجزئة إطار مُصمَّم بواسطة النواة المُصدَرة وأُسقط مع تطبيق الوحدة. على 10 (154 نواة) يُرفض الإطار قبل أن يصل إلى الخلل، لذا لا يقول ذلك الفحص شيئًا في أي من الاتجاهين هناك.
  • كان لدى 665 نواة وحدة من المستودعات السابقة. حُمّلت أولًا، ثم استبدلتها الوحدة الجديدة: عُطّل الترقيع السابق وأُفرغت وحدته.
  • ثم عُطّلت الوحدة وأُزيلت.

لم يُختبر: حالة التسابق (race) نفسها. يتطلب إظهار CVE-2026-98432 على النواة المُصدَرة وغيابه مع الوحدة وجود KASAN وتداخل مُصطنع بين SYN مُعاد إرساله وإطلاق العملية الابنة؛ وهو لا يحدث عند الطلب في هذه الأجهزة الظاهرية. ولم تُختبر أي وحدة مع تفعيل Secure Boot (فهي غير موقّعة وستُرفض)، أو تُحمّل عند الإقلاع بواسطة kpatch.service.

كيف تُصنع المنافذ (ports)

ينقل tools/mkdiffs.sh كل حزمة SRPM لنواة في إصدار فرعي. يطبّق أولًا ترقيعات حزمة SRPM الخاصة بها على أرشيفها المضغوط، كما يفعل %prep ‏(tools/prep.py): تحمل AlmaLinux إصلاحاتها الخاصة بهذه الطريقة، ومن بينها إصلاح CVE-2026-99999 في 4.18.0-553.177.1.el8_10، ونواة 10.2 ‏6.12.0-211.69.1 هي أرشيف Red Hat المضغوط 211.56.1 زائد 466 ترقيعًا، لذا فإن منفذًا صُنع مقابل الأرشيف المضغوط المجرّد سيفوته ما تحتويه النواة. ثم تُفحص الأسطر المتغيّرة مقابل tools/ref/: يجب أن تتطابق أسطر CVE-2026-98432 مع أسطر upstream، وأسطر CVE-2026-99999 مع ترقيع AlmaLinux لـ 8 أو 9 أو ترقيع upstream لـ 10، أو تكون غائبة حيث تمتلك النواة ذلك الإصلاح. وقد تطابقت كل واحدة من الـ 684. كما يتوقف tools/port.py إذا كانت kfree_rcu() في الشجرة لن تتخطى مؤشر NULL، كما هو الحال عادةً في كلا المؤشرين.

و9 و10 مبنيان باستخدام kpatch-build، و10 باستخدام klp-build الخاص بالنواة؛ وكلاهما يبني رقع استبدال، وهي الطريقة التي يتولى بها وحدة نمطية المسؤولية من وحدة سابقة.

CVE-2026-98432

الإصلاح في المستودع الأصلي هو torvalds/linux e3f33b0a1d89، "ipv4: free inet_opt and ireq_opt after an RCU grace period". عندما تحمل حزمة SYN خيارات IP، يحتفظ المستمع بها على مقبس الطلب (ireq_opt) ويسلّمها إلى المقبس الابن (inet_opt) دون نسخ. يمكن الرد على حزمة SYN المعاد إرسالها للطلب نفسه بحزمة SYN-ACK على وحدة معالجة مركزية أخرى، مع قراءة تلك الخيارات تحت RCU، بينما يُغلق الابن ويحرّر inet_sock_destruct() تلك الخيارات باستخدام kfree() عادي: استخدام بعد التحرير. ترحيل مقبس الطلب يعاني من المشكلة نفسها في tcp_v4_reqsk_destructor(). الإصلاح يحرّر كليهما باستخدام kfree_rcu().

لم تُصدر أي من التوزيعتين الإصلاح: في 2026-10-27 لم تذكر أحدث أنوية AlmaLinux وRocky Linux 8 و9 و10 ثغرة CVE في سجلات التغييرات الخاصة بها، ولا تزال مصادر 4.18.0-305.3.1.el8_4 و4.18.0-553.179.1.el8_10 و5.14.0-687.61.1.el9_8 و6.12.0-211.68.1.el10_2 تحرّر كلا المؤشرين باستخدام kfree().

CVE-2026-99999

أُصلحت سابقًا، بشكل منفصل لكل توزيعة، بواسطة nsrg-fmlorg/kpatch-alma-cve-2026-99999 و nsrg-fmlorg/kpatch-rocky-cve-2026-99999. تُصدر كلتا التوزيعتين الآن أنوية تتضمن ذلك الإصلاح، ابتداءً من 4.18.0-553.177.1.el8_10 (AlmaLinux) أو 553.178.1.el8_10 (Rocky)، و5.14.0-687.59.1.el9_8 و6.12.0-211.67.1.el10_2 فما فوق. حيث تفتقر نواة إليه، تحمل الوحدة النمطية في هذا المستودع التغيير نفسه كالوحدات السابقة، وتستبدل وحدة سابقة محمّلة بالفعل (تم اختبارها على كل من الأنوية الـ665 التي كانت لديها واحدة، أعلاه).

التخطيط

المسارما هو
build.shيبني الوحدة النمطية لنواة واحدة داخل حاوية التوزيعة
tools/kernels.tsvالأنوية التي تبنيها CI: التوزيعة، الإصدار الفرعي، إصدار النواة
tools/select-kernels.pyأي منها تختاره جولة CI
tools/mkdiffs.shينشئ النقل لكل نواة في إصدار فرعي ويتحقق منه مقابل tools/ref/
tools/prep.pyيطبّق رقع SRPM الخاصة به على أرشيفه المضغوط، كما يفعل %prep، قبل النقل
tools/port.pyالتغيير نفسه، مطبّقًا على شجرة نواة
tools/kpatchify.pyيحوّل النقل إلى الشكل المُغذّى إلى kpatch-build
tools/klp-overlay.sh، tools/klp-overlay-lds.py، tools/klp-overlay/يعير klp-build الخاص بـ10.2 إلى 10.0 و10.1
tools/klpsymcheck.pyيتحقق من رموز وحدة klp-build مقابل النواة المُصدَّرة
tools/loadtest.sh، tools/loadtest-guest.sh، tools/loadtest-bootprep.sh، tools/loadtest-bootinfo.shيُقلع النواة المُصدَّرة في آلة افتراضية ويطبّق الوحدة النمطية ويتحقق منها ويزيلها
tools/csum-probe.sh، tools/csum-inject.pyيستقصي CVE-2026-99999 قبل وبعد
tools/tcpopt.pyيقود عمليتي التحرير اللتين يغيّرهما CVE-2026-98432، مع وجود خيارات IP
tools/doccheck.pyيفشل عندما لا يُذكر ملف في كلا ملفي README، أو يكون رابط مكسورًا
scripts/livepatch.shيطبّق وحدة نمطية مُصدَّرة ويتحقق منها ويزيلها على مضيف
scripts/build-local.shيبني ويختبر تحميل الوحدة النمطية لنواة واحدة على جهازك
.github/workflows/diffs.ymlيشغّل tools/mkdiffs.sh لكل إصدار فرعي من كلتا التوزيعتين
.github/workflows/build.ymlيبني الوحدات النمطية ويختبر تحميلها
.github/workflows/docs.ymlيشغّل tools/doccheck.py
تنزيل الأداة