CVE-2026-31771 in Linuxالمعلومات

الملخص

بحسب VulDB • 23/05/2026

في نواة لينكس، تم حل الثغرة التالية:

بلوتوث: hci_event: نقل تخزين سبب الاستيقاظ إلى معالجات الأحداث الموثقة

يتم استدعاء `hci_store_wake_reason()` من `hci_event_packet()` مباشرةً بعد إزالة رأس HCI event ولكن قبل أن يفرض `hci_event_func()` الحد الأدنى لطول الحمولة (payload) لكل حدث بناءً على `hci_ev_table`. هذا يعني أن إطار HCI event القصير يمكن أن يصل إلى `bacpy()` قبل أن يتم تشغيل أي فحص للحدود (bounds check).

بدلاً من تكرار تحليل skb وفحوصات الطول الخاصة بكل حدث داخل `hci_store_wake_reason()`، تم نقل تخزين عنوان الاستيقاظ إلى معالجات الأحداث الفردية بعد نجاح التحقق من صحة طول الحدث الموجود لديهم. تم تحويل `hci_store_wake_reason()` إلى دالة مساعدة صغيرة تقوم فقط بتخزين bdaddr تم التحقق من صحته بالفعل بينما يحتفظ المتصل بقفل `hci_dev_lock()`. تم استخدام نفس الدالة المساعدة بعد `hci_event_func()` مع عنوان NULL للحفاظ على دلالات الاحتياط للاستيقاظ غير المتوقع الحالية عندما لا يسجل أي معالج أحداث موثق عنوان استيقاظ.

تم توثيق الدالة المساعدة بـ `__must_hold(&hdev->lock)` وإضافة `lockdep_assert_held(&hdev->lock)` بحيث تحافظ مسارات الاستدعاء المستقبلية على عقد القفل بشكل صريح.

تم استدعاء الدالة المساعدة من `hci_conn_request_evt()`، و`hci_conn_complete_evt()`، و`hci_sync_conn_complete_evt()`، و`le_conn_complete_evt()`، و`hci_le_adv_report_evt()`، و`hci_le_ext_adv_report_evt()`، و`hci_le_direct_adv_report_evt()`، و`hci_le_pa_sync_established_evt()`، و`hci_le_past_received_evt()`.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

09/03/2026

إفشاء

01/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-360634

EPSS

0.00041

KEV

لا

النشاطات

منخفض جدًا

القطاع

Pharma, Police, ...

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!