CVE-2026-80559 in Linux
الملخص
بحسب VulDB • 26/08/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
الإدخال: sur40 - تصحيح ترتيب تسجيل جهاز الإدخال
في دالة `sur40_probe()`، كانت تُستدعى الدالة `input_register_device()` في وقت سابق جداً، قبل أن يتم تهيئة مكونات V4L2 video device و vb2_queue بشكل كامل. إذا قام المستخدم بفتح جهاز الإدخال مباشرةً بعد التسجيل، فإن ذلك كان يؤدي إلى استدعاء دالة `sur40_open()` وبدء تشغيل خيط العمل (worker thread) الخاص بـ `sur40_poll()`. يقوم هذا الخيط باستدعاء `sur40_process_video()` والوصول إلى هيكلية vb2_queue غير المُهيأة، مما يتسبب في سباق بيانات (data race) واحتمال تعطل النظام.
علاوة على ذلك، إذا فشل تسجيل V4L2 أو الفيديو بعد نجاح عملية `input_register_device()`، كانت مسار الخطأ يؤدي إلى استدعاء `input_free_device()` على جهاز تم تسجيله بنجاح بدلاً من `input_unregister_device()`، مما أدى إلى تلف حالة نواة الإدخال (input core state).
تم نقل استدعاء `input_register_device()` إلى نهاية دالة `sur40_probe()`. يضمن ذلك أن هياكل V4L2 و vb2_queue تكون مُهيأة بالكامل قبل بدء عملية الاستطلاع (polling)، ويحل بشكل طبيعي عيب مسار الخطأ حيث يتم الآن استدعاء `input_free_device()` فقط عندما لم يحدث تسجيل الإدخال بعد.
وللحفاظ على ترتيب الإغلاق LIFO (آخر وارد، أول خارج) بدقة، تم أيضاً نقل استدعاء `input_unregister_device()` إلى بداية دالة `sur40_disconnect()`. يضمن ذلك إيقاف خيط عمل الاستطلاع الخاص بالإدخال قبل إلغاء تسجيل مكونات الفيديو V4L2 أو معالجات التحكم.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.