CVE-2026-90389 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم حل الثغرة التالية:
تقييد نطاق memalloc_noio لقطع التخصيص الحرجة
يتم تخزين رمز memalloc_noio_save() في mddev->noio_flags مما يسمح لمهمة واحدة بحفظ الرمز ومهمة أخرى باستعادته. مع عمليات الكتابة المتزامنة على sysfs الخاصة بـ suspend، يمكن للمهمة A الدخول إلى PF_MEMALLOC_NOIO والعودة إلى مساحة المستخدم لا تزال ضمن هذا النطاق، ثم تقوم المهمة B لاحقًا باستعادة الرمز المحفوظ الخاص بالمهمة A.
تجنب ربط عمر الرمز بـ mddev. اجعل mddev_suspend() وmddev_resume() مسؤولين فقط عن تعليق تشغيل المصفوفة (array)، ودخول PF_MEMALLOC_NOIO فقط في مسارات MD التي تقوم بتخصيص الذاكرة بعد إيقاف عمل المصفوفة. قم باستعادة الرمز قبل استئناف عمل المصفوفة.
يختبر برنامج إعادة الإنتاج (reproducer) بشكل متكرر كتابة suspend_lo وsuspend_hi من عمال (workers) متعددين ويتحقق من أعلام /proc/self/stat لكل عامل قبل وبعد عملية الكتابة على sysfs.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.