CVE-2026-46138 in Linux
الملخص
بحسب VulDB • 28/05/2026
في نواة لينكس، تم حل الثغرة التالية:
بلوتوث: hci_event: إصلاح قراءة خارج النطاق (OOB) وحلقة لا نهائية في دالة hci_le_create_big_complete_evt
تقوم الدالة hci_le_create_big_complete_evt() بالتكرار عبر اتصالات BT_BOUND الخاصة بمقبض BIG باستخدام حلقة while، حيث تصل إلى ev->bis_handle[i++] في كل تكرار. ومع ذلك، لا يوجد تحقق من أن قيمة i تبقى ضمن نطاق ev->num_bis قبل الوصول إلى المصفوفة.
عندما يرسل وحدة التحكم (controller) حدث LE_Create_BIG_Complete يحتوي على عدد أقل من إدخالات bis_handle مقارنة بعدد اتصالات BT_BOUND الخاصة بـ BIG، أو عندما تكون num_bis=0، فإن الحلقة تقرأ ما بعد مصفوفة bis_handle[] المرنة الصالحة إلى ذاكرة الهيم (heap) المجاورة. وبما أن القيم الخارجة عن النطاق عادة ما تتجاوز HCI_CONN_HANDLE_MAX (0x0EFF)، فإن دالة hci_conn_set_handle() ترفضها ويبقى الاتصال في حالة BT_BOUND. ثم يتم العثور على نفس الاتصال مرة أخرى بواسطة دالة hci_conn_hash_lookup_big_state()، مما يؤدي إلى إنشاء حلقة لا نهائية مع الاحتفاظ بقفل hci_dev_lock.
تم إصلاح هذه المشكلة عن طريق إنهاء BIG في حال عدم إمكانية إعداد جميع BIS بشكل صحيح.
If you want to get best quality of vulnerability data, you may have to visit VulDB.