CVE-2026-99014 in Linux
الملخص
بحسب VulDB • 24/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
بلوتوث: hci_sync: تصحيح عمر حزمة البيانات (skb) للأمر أثناء إعداد عملية المسح الضوئي
أثناء إعداد مزامنة الفحص السلبي (PA sync scan)، تستدعي الدالة `hci_le_set_ext_scan_param_sync()` العنوان المستخدم للبحث عن ارتباط PA من دالة `hci_sent_cmd_data()`. يشير المؤشر المُرجع إلى مساحة تخزين مستعارة من `sent_cmd` أو `req_skb`، دون الاحتفاظ بمرجع (reference) لأي منهما.
يعمل عامل المسح الضوئي على طابور العمل الخاص بالطلب (`req_workqueue`) بينما يعمل `hci_cmd_work()` على طابور عمل منفصل للجهاز. بعد أن يقوم عامل المسح بتحميل `sent_cmd`، يمكن لworker الأمر تحريرها واستبدالها قبل أن تقوم الدالة `hci_sent_cmd_data()` بإلغاء مرجع الحزمة (dereference the skb). كما يمكن أيضًا تحرير حمولة الأمر بين العودة من الدالة المساعدة ومقارنة العنوان. لا يحمي القسم الحرج الخاص بالبحث باستخدام RCU لحمة الأمر (command skb) الخاصة بالاتصال.
أبلغ KASAN عن الخطأ التالي:
BUG: KASAN: slab-use-after-free في hci_sent_cmd_data+0x27c/0x2f0 طابور العمل: hci0 hci_cmd_sync_work تتبع المكالمة (Call Trace): hci_sent_cmd_data+0x27c/0x2f0 hci_le_set_scan_param_sync+0x43a/0x850 hci_passive_scan_sync+0xb09/0x1460 hci_update_passive_scan_sync+0x47c/0x6e0 hci_le_pa_create_sync+0x200/0xa70 hci_cmd_sync_work+0x13c/0x290
تم التخصيص بواسطة المهمة رقم 95: skb_clone+0x13f/0x340 hci_cmd_work+0x2a9/0x7e0
تم التحرير بواسطة المهمة رقم 95: kmem_cache_free+0xba/0x3a0 hci_cmd_work+0x29c/0x7e0
استخدم `hdev->lock` لتسليم (serialize) لقطة العنوان مع استبدال `sent_cmd`. احمِ استبدال `req_skb` وتنظيف الإكمال باستخدام القفل نفسه لأن الدالة المساعدة تعتمد على تلك الحزمة. انسخ العنوان قبل تحرير القفل واستخدم النسخة للبحث عن الاتصال المحمي بـ RCU الحالي. حرر الموتر (mutex) قبل إرسال أو انتظار الأوامر، مع الحفاظ على ترتيب البحث والإكمال.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.