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

الملخص

بحسب VulDB • 24/07/2026

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

usb: gadget: uvc: الاحتفاظ بـ opts->lock أثناء اجتياز وحدات التوسيع (XU walks) في دالة uvc_function_bind

تقوم الدالة uvc_function_bind() بالمرور على &opts->extension_units مرتين دون الاحتفاظ بقفل opts->lock: - بشكل مباشر، لحلقة إصلاح واصف السلسلة iExtension؛ - بشكل غير مباشر، أربع مرات عبر dالة uvc_copy_descriptors() (مرة لكل سرعة)، حيث تقوم الدالة المساعدة بتكرار عناصر uvc->desc.extension_units (التي تشير إلى &opts->extension_units) لتحديد الحجم وإصدار واصفات XU.

تأخذ الجوانب الخاصة بـ configfs (uvcg_extension_make / uvcg_extension_drop، في drivers/usb/gadget/function/uvc_configfs.c) قفل opts->lock حول عمليات list_add_tail وlist_del الخاصة بها. يمكن لعميل مساحة مستخدم ممتيز يفتح شجرة فرعية من configfs ويكتب اسم UDC الخاص بالجهاز للربط (bind)، بينما يقوم بشكل متزامن بحذف دليل فرعي للتوسيعات باستخدام rmdir()، أن يسبب حالة سباق بين uvcg_extension_drop() وعمليات اجتياز القوائم أثناء الربط، مما يؤدي إلى فك مرجع بنية بيانات struct uvcg_extension بعد تحريرها.

الاحتفاظ بقفل opts->lock من بداية إصلاح واصف سلسلة XU حتى آخر استدعاء لـ uvc_copy_descriptors()، مع تحريره في مسار خطأ الوصف عبر تسمية error_unlock جديدة تقوم بإسقاط القفل قبل الانتقال إلى تسمية الخطأ الموجودة. يتوافق هذا مع انضباط قفل دوال استرجاع configfs ويزيل آخر قارئ غير متزامن لقائمة XU أثناء عملية الربط.

إمكانية الوصول: يمكن فقط للعملاء المميزين الذين يستطيعون تثبيت نظام ملفات configfs والكتابة في ملفات UDC للجهاز تشغيل حالة السباق، لذا فإن هذا الإصلاح يتعلق بالصحة الوظيفية (correctness) بدلاً من كونه حدوداً أمنية.

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

مسؤول

Linux

حجز

19/07/2026

إفشاء

24/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-382962

EPSS

0.00157

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!