CVE-2026-90276 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم حل الثغرة التالية:
md/md-llbitmap: إيقاف إعادة تشغيل مؤقت الخادم (daemon timer) أثناء التدمير
تقوم دالة `llbitmap_destroy()` بحذف المؤقت المعلق (`pending_timer`) قبل إفراغ طابور عمل I/O الخاص بـ `md_llbitmap_io_wq`. ومع ذلك، قد لا يزال `daemon_work` في حالة الانتظار أو التشغيل بعد حذف المؤقت، ويمكن لمسار الخادم (daemon path) إعادة تشغيل المؤقت الملق (`pending_timer`) مرة أخرى عند العثور على كتل غير جاهزة للإفراغ.
إذا حدث هذا أثناء عملية الإغلاق (teardown)، فقد يبقى المؤقت المعلق نشطًا بعد تحرير ذاكرة `llbitmap`، مما يؤدي لاحقًا إلى الإشارة إلى ذاكرة تم تحريرها (dereference freed memory).
تمت إضافة بت `BITMAP_SHUTDOWN` إلى أعلام `llbitmap` (`flags`)، وتم تعيينه قبل حذف المؤقت، وجعل مسارات المؤقت والخادم تتوقف عن جدولة أو إعادة تشغيل العمل بمجرد بدء عملية الإغلاق. يتم إلغاء عمل الخادم (`daemon_work`) قبل إفراغ طابور العمل المشترك (shared workqueue) بحيث لا يمكن لأي مثيل للخادم تم جدولته بالفعل أن يتسابق مع عملية التحرير (race with the free). استخدام `timer_shutdown_sync()` يضمن ألا يتمكن مثيل للخادم مرّ عبر فحص الإغلاق قبل بدء عملية الإغلاق من إعادة تشغيل المؤقت لاحقًا.
يُعد `BITMAP_SHUTDOWN` حالة خاصة بالتشغيل فقط (runtime-only state). يتم إخفاؤها عند قراءة وتحديث كتلة السوبر بلوك الخاصة بـ `llbitmap` بحيث لا تُحمَل حالة الإغلاق أبدًا من القرص ولا تُحفظ عليه.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.