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

الملخص

بحسب VulDB • 11/08/2026

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

usb: gadget: dummy_hcd: منع إعادة استخدام fifo_req أثناء عملية الإرجاع (giveback)

تضمّن وحدة `dummy_hcd` طلب USB واحدًا مشتركًا (`dum->fifo_req`) تقوم المسار السريع "لـ FIFO أحادي الطلب المُحاكى" في دالة `dummy_queue()` بإعادة استخدامه لنقل البيانات الصغيرة من نوع IN: حيث تنسخ طلب المتصل إليها فيه (`req->req = *_req`) وتضعه في قائمة الانتظار، معاملة حالة `list_empty(&fifo_req.queue)` على أنها "المكان متاح".

يتبع جانب إكمال العملية (dummy_timer/transfer/nuke/dummy_dequeue) النمط القياسي: تقوم دالة `list_del_init(&req->queue)` بفصل الطلب عن القائمة، ثم يتم تحرير القفل وتقوم الدالة `usb_gadget_giveback_request()` باستدعاء `req->complete()`. ولكن نظرًا لأن `list_del_init()` تجعل قائمة الانتظار الخاصة بـ `fifo_req` تبدو فارغة *قبل* أن تعود دالة استدعاء الإكمال (completion callback)، فإن عملية `dummy_queue` المتزامنة على وحدة معالجة أخرى ترى المكان متاحًا، وتعيد استخدام `fifo_req` وتنفيذ `req->req = *_req` -- مما يؤدي إلى الكتابة فوق `req->complete` بينما كانت `dummy_timer` تستدعيها في ذلك الحين. ينتقل الاستدعاء غير المباشر بعدئذٍ إلى مؤشر تالف (clobbered pointer)، مسببًا خطأ حماية عامة / خطأ صفحة في `dummy_timer` (syzkaller extid faf3a6cf579fc65591ca). تعتبر عملية الكتابة المسببة للتلف نسخاً داخل الحدود (`in-bounds memcpy`) على كائن مشترك نشط، لذا لا يمكن لـ KASAN اكتشافها.

أضف بتًا `fifo_req_busy` يغطي العمر الكامل للطلب المشترك: اضبطه في `dummy_queue()` عندما يأخذ المسار السريع الخاص بـ FIFO طلب `fifo_req` (مما يجعله حارساً للمسار السريع، مستبدلاً اختبار `list_empty(&fifo_req.queue)`)، وقمه بعد عودة دالة استدعاء الإكمال، وذلك عبر مساعد `dummy_giveback()` المستخدم في جميع مواقع إرجاع طلبات الواجهة الطرفية الأربعة. لم يعد المكان المشترك قابلاً لإعادة الاستخدام حتى تنتهي دالة استدعاء الإكمال من عملها.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

30/07/2026

إفشاء

10/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-387739

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!