CVE-2026-90116 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم حل الثغرة التالية:
ALSA: mtpav: إيقاف مؤقت الإخراج قبل تفكيك البطاقة (card teardown)
تقوم الدالة `snd_mtpav_output_timer()` بإعادة ضبط المؤقت الخاص بالشريحة (`chip->timer`) أثناء الاحتفاظ بقفل الشريط (`chip->spinlock`) وتصل إلى حالة mtpav الخاصة بالبطاقة.
حاليًا، تأخذ الدالة `snd_mtpav_free()` نفس القفل وتستدعي `timer_delete()` عندما يكون المؤقت نشطاً. يؤدي هذا فقط إلى إزالة مؤقت معلق؛ ولا ينتظر انتهاء استدعاء (callback) قيد التشغيل بالفعل، ولا يمنع الاستدعاء من إعادة ضبط المؤقت مرة أخرى.
لذلك، يمكن لاستدعاء يعمل على وحدة معالجة مركزية (CPU) أخرى أن يستمر بعد أن يحرر `snd_mtpav_free()` القفل ويصل إلى الحالة الخاصة بالبطاقة أثناء عملية تفكيك البطاقة. كما يمكنه إعادة ضبط المؤقت بعد عودة `timer_delete()`.
استدعِ `timer_shutdown_sync()` دون الاحتفاظ بـ `chip->spinlock`. وهذا ينتظر انتهاء أي استدعاء قيد التشغيل ويمنع المزيد من عمليات إعادة الضبط قبل تحرير حالة mtpav الخاصة بالبطاقة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.