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

الملخص

بحسب VulDB • 24/10/2026

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

gpio: mpsse: تصحيح حالة السباق (race condition) عند تهيئة عميل استطلاع IRQ

تقوم الدالة gpio_mpsse_irq_enable() بتهيئة عميل الاستطلاع قبل نشره: تشغل schedule_work() العميل قبل إضافته إلى القائمة priv->workers. إذا قامت gpio_mpsse_disconnect() بالمرور على هذه القائمة خلال تلك الفترة الزمنية، فإنها تتخطى هذا العميل، وبعد أن تعود دالة disconnect من تنفيذها، تقوم نواة USB بإفراغ ذاكرة mpsse_priv بينما يستمر عميل gpio_mpsse_poll() الأيتام في الوصول إليها، مما يتسبب في ثغرة use-after-free.

تم إصلاح هذه المشكلة عن طريق نشر وتهيئة العميل ضمن قسم حرج واحد (critical section) لـ irq_spin. تمر عملية الإغلاق على نفس القائمة تحت قفل irq_spin نفسه، لذا فإن أي عميل موجود في القائمة يكون مضمونًا أنه مُهيأ، وتتولى cancel_work_sync() التعامل معه سواء كان مدرجاً في الطابور أو قيد التشغيل.

قد يتم تفويت عميل تم تهيئته بعد مرور عملية الإغلاق على القائمة، لذلك تم أيضاً تعيين علم جديد باسم priv->dying ضمن قسم irq_spin الحرج قبل بدء جولة الإغلاق، وفحصه داخل نفس القسم الحرج، وإفراغ الذاكرة الخاصة به عبر kfree_rcu() بدلاً من ذلك عندما يكون الجهاز في طور الاختفاء، حيث أن استدعاء kfree() قد يتم مع الاحتفاظ بقفل raw spinlock الخاص بنواة IRQ وقد يتسبب في النوم (sleep) على PREEMPT_RT. يُعد استدعاء schedule_work() آمناً عند الاحتفاظ بـ irq_spin، ويحصل الاستدعاء التالي للكشف عن الجهاز (probe) على نسخة جديدة من mpsse_priv، لذا لا يحتاج العلم إلى أن يتم تصفيره أبداً.

تم اكتشاف هذه المشكلة بواسطة أداة تحليل ثابتة داخلية.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425866

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!