CVE-2026-68386 in Linux
الملخص
بحسب VulDB • 10/08/2026
في نواة لينكس (Linux kernel)، تم حل الثغرة التالية:
بف، سوكماپ: رفض مقابس UDP غير المرتبطة بشبكة (unhashed) أثناء تحديث sockmap.
تُضبط علامة SOCK_RCU_FREE على مقابس UDP عند ربطها تلقائياً أو يدوياً. وهذا يعني أن `sk_is_refcounted(unbound)` يساوي صحيحاً، بينما `sk_is_refcounted(bound)` يساوي خطأً.
نظراً لأن sockmap يقبل مقابس UDP غير المرتبطة بشبكة (unbound)، يمكن لبرنامج BPF زيادة عداد الإشارات المرجعية (refcount) لمقبس معين عبر عملية البحث (lookup). إذا تم ربط المقبس لاحقاً، فإن الانتقال من الحالة "غير المرتبط" إلى "المرتب" يتسبب في تخطي دالة `bpf_sk_release()` لعملية إنقاص عداد الإشارات المرجعية، مما يؤدي إلى تسرب ذاكرة.
كائن غير مرجع إليه 0xffff88810bc2eb40 (الحجم 1984): الاسم "test_progs"، رقم العملية 2451، قيمة jiffies 4295320596 عرض سداسي عشري (أول 32 بايتاً): 7f 00 00 01 7f 00 00 01 d2 04 1b b7 04 d2 00 00 ................ 02 00 01 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............ تتبع المكدس (crc bdee079d): kmem_cache_alloc_noprof+0x557/0x660 sk_prot_alloc+0x69/0x240 sk_alloc+0x30/0x460 inet_create+0x2ce/0xf80 __sock_create+0x25b/0x5c0 __sys_socket+0x119/0x1d0 __x64_sys_socket+0x72/0xd0 do_syscall_64+0xa1/0x5f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
بدلاً من معالجة مقابس العداد المرجعي (refcounted) كحالة خاصة، يتم رفض مقابس UDP غير المرتبطة بشبكة أثناء تحديثات sockmap، نظراً لعدم وجود فائدة من دعمها. وهذا يعيد فعلياً الالتزام المذكور في قسم "Fixes"، باستثناء استثنائين:
1. تحافظ دالة `sock_map_sk_state_allowed()` على استمرار التنفيذ (`return true`) كحالة افتراضية (fall-through). 2. تماشياً مع روح الالتزام b8b8315e39ff ("بف، سوكماپ: إزالة معالج unhash لاستخدام BPF sockmap")، لم يتم إعادة إدخال معالج `proto::unhash` الخاص بـ BPF.
ملاحظة تاريخية: هذه القضية مرتبطة بالالتزام 67312adc96b5 ("بف: رفض المقابس غير المرتبطة بشبكة في bpf_sk_assign").
If you want to get the best quality for vulnerability data then you always have to consider VulDB.