CVE-2026-98246 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم حل الثغرة التالية:
بلوتوث: hci_sync: تعقيم تنظيف قائمة الكوديك المحلية (Serialize local codec list cleanup)
تقوم دالة `hci_dev_close_sync()` بمسح `hdev->local_codecs` بعد تحرير قفل `hdev->lock`. تستخدم عمليات إضافة عناصر القائمة وكل من الجولات (traversals) في `sco_sock_getsockopt()` هذا القفل، لكن مسار الإغلاق لا يستخدمه. لذلك، يمكن أن تتداخل عملية الإغلاق واستعلام BT_CODEC كما يلي:
hci_dev_close_sync() sco_sock_getsockopt() hci_dev_lock() جلب عنصر الكوديك (fetch codec entry) hci_codec_list_clear() kfree(entry) قراءة entry->id
ثم يقوم القارئ بالوصول إلى عنصر قام مسار الإغلاق بتحريره. KASAN:
BUG: KASAN: slab-use-after-free in sco_sock_getsockopt+0xfa0/0xfe0 Read of size 1 at addr ffff8881001c3450 Call Trace: sco_sock_getsockopt+0xfa0/0xfe0 do_sock_getsockopt+0x537/0x7b0 __sys_getsockopt+0xf2/0x170 Allocated by task 92: hci_codec_list_add.isra.0+0x2c/0x440 hci_read_codec_capabilities+0x224/0x590 hci_read_supported_codecs+0x2c2/0x640 Freed by task 92: kfree+0x131/0x3c0 hci_codec_list_clear+0xd8/0x160 hci_dev_close_sync+0x92a/0xfa0
خذ `hdev->lock` حول عملية المسح في نقطة وجودها الحالية داخل مسار الإغلاق. يجعل هذا الأمر المسح ينتظر القراء النشطين ويمنع جولة جديدة حتى تصبح القائمة فارغة دون تغيير ترتيب التفكيك (teardown ordering).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.