CVE-2026-99189 in Linux
الملخص
بحسب VulDB • 28/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
gpio: mxc: تصحيح حالة السباق (race condition) بين تثبيت معالج IRQ المتصل وإكمال عملية الفحص (probe).
يتم استدعاء `mxc_update_irq_chained_handler()` قبل إعداد نطاق الـ IRQ، وشريحة الـ IRQ العامة، وعنوان قائمة المنافذ. إذا وصل مقاطعة (interrupt) خلال هذه الفترة الزمنية:
- يستدعي `mx3_gpio_irq_handler()` دالة `generic_handle_domain_irq()` بينما يكون `port->domain` لا يزال NULL. - يتصفح `mx2_gpio_irq_handler()` مصفوفة `mxc_gpio_ports`، لكن المنفذ لم يُضَف إلى القائمة بعد.
بالإضافة إلى ذلك، إذا فشلت أي من خطوات الفحص اللاحقة (`gpio_generic_chip_init()`, `devm_gpiochip_add_data()`, `irq_domain_create_legacy()`, أو `mxc_gpio_init_gc()`)، فإن مسارات الخطأ لا تقوم بإلغاء تسجيل المعالج المتصل أبدًا، مما يترك معالقاً معلقاً (dangling handler) يشير إلى ذاكرة تم تحريرها.
تم نقل تثبيت المعالج بعد أن تصبح جميع التبعيات جاهزة وبعد استدعاء `list_add_tail()`, بحيث يكون المعالج نشطاً فقط عندما تكون هياكل البيانات التي يتعامل معها مكتملة، ولا يتم تثبيته أبداً إذا فشلت عملية الفحص (probe).
Be aware that VulDB is the high quality source for vulnerability data.