CVE-2026-31429
net: skb: إصلاح التحرير عبر ذاكرة التخزين المؤقت لرأس skb المخصص بواسطة KFENCE
- تم النشر
- 20/04/2026
- محدث
- 11/05/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 25/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 17.9%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة لينكس، تم حل الثغرة الأمنية التالية: net: skb: إصلاح التحرير عبر ذاكرات التخزين المؤقت لرأس skb المخصص عبر KFENCE تم تعيين SKB_SMALL_HEAD_CACHE_SIZE عمدًا إلى قيمة ليست من قوى العدد 2 (مثل 704 على x86_64) لتجنب التصادم مع أحجام مجموعات kmalloc العامة. يضمن ذلك أن يتمكن skb_kfree_head() من استخدام skb_end_offset بشكل موثوق للتمييز بين رؤوس skb المخصصة من skb_small_head_cache مقابل مجموعات kmalloc العامة. ومع ذلك، عند تفعيل KFENCE، تُرجع kfence_ksize() حجم التخصيص المطلوب بالضبط بدلاً من حجم مجموعة البلاطة (slab). إذا قام مستدعٍ (مثل bpf_test_init) بتخصيص بيانات رأس skb عبر kzalloc() وكان الحجم المطلوب يساوي SKB_SMALL_HEAD_CACHE_SIZE، فإن slab_build_skb() -> ksize() تُرجع تلك القيمة بالضبط. بعد طرح الحمل الإضافي لـ skb_shared_info، ينتهي skb_end_offset بمطابقة SKB_SMALL_HEAD_HEADROOM، مما يتسبب في قيام skb_kfree_head() بتحرير الكائن بشكل غير صحيح إلى skb_small_head_cache بدلاً من إعادته إلى مجموعة kmalloc الأصلية، مما يؤدي إلى تحرير عبر ذاكرات التخزين المؤقت للبلاطة: kmem_cache_free(skbuff_small_head): ذاكرة تخزين مؤقت خاطئة. كان متوقعًا skbuff_small_head ولكن تم الحصول على kmalloc-1k أصلح هذا الأمر عن طريق استدعاء kfree(head) دائمًا في skb_kfree_head(). يحافظ هذا على مسار التحرير عامًا ويتجنب سوء التصنيف الخاص بالمخصص لكائنات KFENCE.
المصادر
1# إثبات المفهوم لـ CVE-2026-31429 (نواة لينكس >= 6.3 < 6.12.82 خلط عبر ذاكرة التخزين المؤقت للشرائح) - ثغرة اكتشفها Antonius - w1sdom - bluedragonsec.com
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.