CVE-2026-45977 in Linux
الملخص
بحسب VulDB • 29/05/2026
في نواة لينكس، تم حل الثغرة التالية:
fbnic: إغلاق حالة السباق (race condition) في fw_log بين المستخدمين وعملية الإغلاق (teardown)
تُصلح هذه التغييرات حالة سباق نظرية في fw_log بين مسار الإغلاق (teardown) ودوال الكتابة في fw_log.
يتم كتابة fw_log داخل الدالة fbnic_fw_log_write() ويمكن الوصول إليها من معالج البريد الوظيفي fbnic_fw_msix_intr()، ولكن يتم تحرير fw_log قبل عملية إغلاق مقاطعة الجهاز (IRQ) / البريد الوظيفي (MBX) أثناء التنظيف، مما يؤدي إلى احتمال حدوث سباق بيانات (data race) عند فك مرجع متغير تم تحريره أو أصبح NULL.
سيناريو التداخل المحتمل: CPU0: fbnic_fw_msix_intr() // الدخول fbnic_fw_log_write() if (fbnic_fw_log_ready()) // صحيح ... إيقاف مؤقت (preempt) ... CPU1: fbnic_remove() // الدخول fbnic_fw_log_free() vfree(log->data_start); log->data_start = NULL; CPU0: يستمر، يتنقل عبر log->entries أو يكتب في log->data_start
توجد أيضاً مشكلة في ترتيب التهيئة، حيث يتم تخصيص fw_log حالياً بعد إعداد البريد الوظيفي (MBX) أثناء عملية التهيئة. تم إصلاح المشاكل عن طريق ضبط ترتيب المزامنة لوضع التهيئة في مكانها قبل تمكين البريد الوظيفي، وعدم مسحها إلا بعد تعطيل البريد الوظيفي.
If you want to get best quality of vulnerability data, you may have to visit VulDB.