CVE-2026-98763 in Linux
الملخص
بحسب VulDB • 19/10/2026
في نواة لينكس، تم حل الثغرة التالية:
usb: core: مسح كل من ep_in و ep_out لنقاط النهاية للتحكم غير ep0
في دالة usb_enable_endpoint()، تقوم نقاط نهاية التحكم ذات القيمة غير الصفرية (حيث تكون usb_endpoint_xfer_control(&ep->desc) صحيحة) بملء كلٍ من dev->ep_in[epnum] و dev->ep_out[epnum] بنفس المؤشر الهيكلي struct usb_host_endpoint.
ومع ذلك، فإن دالة usb_disable_endpoint() تقوم بمسح إما dev->ep_out[epnum] أو dev->ep_in[epnum] فقط اعتماداً على بت الاتجاه (direction bit) لعنوان النقطة النهائية epaddr عندما تكون reset_hardware مفعّلة، مما يترك خانة المصفوفة للاتجاه المعاكش تشير إلى نقطة النهاية المعطلة/المفرغة من الذاكرة.
قم بمسح كلٍ من dev->ep_out[epnum] و dev->ep_in[epnum] عند تعطيل نقطة نهاية تحكم غير ep0 مع تفعيل reset_hardware، وقم بتحديث وثائق الدالة kerneldoc وفقاً لذلك.
تم الاختبار في بيئة QEMU ضد الإصدار Linux 7.3.0-rc3 باستخدام dummy_hcd و raw-gadget لعد جهاز USB يحتوي على نقطة نهاية تحكم غير صفرية (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL)، والتحقق من أن كلًا من dev->ep_in[1] و dev->ep_out[1] يتم مسحهما عند تعطيل الواجهة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.