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

الملخص

بحسب VulDB • 18/10/2026

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

بلوتوث: hci_sync: عدم تفريغ قائمة الانتظار (backlog) الخاصة بـ cmd_sync عند إلغاء التسجيل

تعطل دالة `hci_unregister_dev()` عمل `cmd_work` و `cmd_timer`، ثم تستدعي `hci_cmd_sync_clear()`. تنتظر هذه الأخيرة إكمال `cancel_work_sync()` لعودة `hci_cmd_sync_work()`. يقوم هذا العامل (worker) بإزالة كل عنصر من قائمة `cmd_sync_work_list` وتنفيذه. وبما أن `cmd_work` معطل، لا تصل أي طلبات إلى وحدة التحكم، مما يؤدي إلى انتظار كل أمر HCI مُدرج في القائمة لانتهاء مهلة `HCI_CMD_TIMEOUT` الكاملة (ثانيتان).

لا توجد حدود لقائمة الانتظار هذه. يمكن لبرمجيات المستخدم (Userspace) الاستمرار في إدراج أوامر MGMT مثل `MGMT_OP_GET_CLOCK_INFO` ضد وحدة تحكم لا ترد. يؤدي إغلاق `/dev/vhci` إلى التعليق (block) داخل دالة `vhci_release()` لمدة تساوي قائمة الانتظار مضروبة في 2 ثانية:

``` INFO: task syz-executor:5749 blocked for more than 143 seconds. cancel_work_sync hci_cmd_sync_clear hci_unregister_dev vhci_release ```

في تجربة محلية، احتوت قائمة الانتظار على أكثر من 5000 عنصر، مما يؤدي إلى تعليق يستمر لساعات.

تم منع العامل من استقبال عناصر جديدة بمجرد تعيين العلم `HCI_UNREGISTER`، وإيقاظ أي طلب لا يزال في انتظار الرد باستخدام رمز الخطأ `-ENODEV` قبل إلغاء العمل. يتم تدمير العناصر المتبقية بواسطة المسح الحالي الموجود في دالة `hci_cmd_sync_clear()` باستخدام رمز الخطأ `-ECANCELED`. تبقى هذه العناصر على القائمة حتى يتوقف العمل، لذا فإن دوال مثل `hci_cmd_sync_dequeue()` وما شابهها لا تزال تراها. قد يصدر عامل قيد التشغيل بالفعل أمراً آخر، مما يؤخر عملية إلغاء التسجيل بمقدار مهلة واحدة لكل أمر متبقي، وليس لمدة قائمة الانتظار بأكملها.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

18/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-421829

EPSS

0.00000

KEV

لا

النشاطات

منخفض

القطاع

Police, Energy, ...

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!