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

الملخص

بحسب VulDB • 26/07/2026

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

usb: gadget: udc: إصلاح مشكلة Use-After-Free في دالة gadget_match_driver

تعمل بنية udc كبنية إدارة للجهاز (gadget)، لكن دورات حياتهما منفصلة. توجد حالة سباق (Race Condition) حيث تقوم الدالة usb_del_gadget() بتحرير ذاكرة udc (على سبيل المثال، عبر عمل تبديل الوضع mode-switch work)، بينما تصل الدالة gadget_match_driver() بشكل متزامن إلى الذاكرة المحررة من udc (على سبيل المثال، عبر configfs)، مما يتسبب في حدوث خطأ Use-After-Free (UAF) يؤدي إلى إحداث استثناء إلغاء مرجع المؤشر الفارغ (NULL pointer dereference) عندما يتم تصفير الذاكرة المحررة:

[39430.908615][ T1171] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[39430.911397][ T1171] pc : __pi_strcmp+0x20/0x140
[39430.911441][ T1171] lr : gadget_match_driver+0x34/0x60
... [39430.911890][ T1171] usb_gadget_register_driver_owner+0x50/0xf8
[39430.911910][ T1171] gadget_dev_desc_UDC_store+0xf4/0x140
[39430.931308][ T1171] configfs_write_iter+0xec/0x134

[39430.957058][ T1171] Workqueue: events_freezable __dwc3_set_mode
[39430.957287][ T1171] dwc3_gadget_exit+0x34/0x8c
[39430.957304][ T1171] __dwc3_set_mode+0xc0/0x664

يتم إصلاح هذه المشكلة عن طريق ضمان بقاء بنية udc مُخصَّصة (allocated) حتى يتم تحرير الجهاز (gadget). لتحقيق ذلك، تم إدخال إجراء جديد هو usb_gadget_release() إلى النواة الأساسية. عند إضافة الجهاز، تقوم الدالة usb_add_gadget() بتخزين روتين تحرير الجهاز في بنية udc وتأخذ مرجعاً لـ udc. وعند تحرير الجهاز، تقوم الدالة usb_gadget_release() بإسقاط المرجع الخاص بـ udc ثم استدعاء روتين تحرير الجهاز.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

19/07/2026

إفشاء

25/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383144

EPSS

0.00206

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!