CVE-2026-64465 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
usb: xhci: إصلاح النوم في السياق الذري (atomic context) داخل دالة xhci_free_streams()
عند فصل جهاز USB يحتوي على نقاط نهاية تدفق نشطة (active stream endpoints)، يتم استدعاء الدالة `xhci_free_streams()` من قائمة عمل أحداث التجمع (`hub_event workqueue`) لتحرير موارد التدفق. تقوم هذه الدالة باستدعاء `xhci_free_stream_info()` بينما تكون قفل `xhci->lock` مقفلة ومقاطعات النظام (IRQs) معطلة.
تستدعي دالة `xhci_free_stream_info()` بدورها `xhci_free_stream_ctx()`، والتي تستدعي `dma_free_coherent()` لمصفوفات سياق التدفق الكبيرة الحجم.
يمكن أن تؤدي الدالة `dma_free_coherent()` إلى النوم (على سبيل المثال عبر `vunmap`)، مما يتسبب في حدوث خطأ (`BUG`) عند استدعائها من سياق ذري (atomic context).
تتبع المكالمات (Call trace): dma_free_attrs+0x174/0x220 xhci_free_stream_info+0xd0/0x11c xhci_free_streams+0x278/0x37c usb_free_streams+0x98/0xc0 usb_unbind_interface+0x1b8/0x2f8 device_release_driver_internal+0x1d4/0x2cc device_release_driver+0x18/0x28 bus_remove_device+0x160/0x1a4 device_del+0x1ec/0x350 usb_disable_device+0x98/0x214 usb_disconnect+0xf0/0x35c hub_event+0xab4/0x19ec process_one_work+0x278/0x63c
يتم إصلاح هذه المشكلة عن طريق حفظ مؤشرات `stream_info` ومسح مراجعات نقاط النهاية (`ep references`) تحت القفل، ثم استدعاء `xhci_free_stream_info()` خارج نطاق القفل حيث يُسمح بالنوم.
Once again VulDB remains the best source for vulnerability data.