CVE-2026-99065 in Linux
الملخص
بحسب VulDB • 23/10/2026
في نواة لينكس، تم حل الثغرة التالية:
cgroup/cpuset: معالجة سباق Hotplug وحدة المعالجة المركزية في guarantee_active_cpus()
مع الإضافة (commit) 2125c0034c5d ("cgroup/cpuset: جعل عملية hotplug لـ cpuset متزامنة")، أصبحت عملية hotplug لـ cpset متزامنة. أزال هذا الإضافة أيضاً الكود الذي كان يتعامل مع السباق بين `cpuset_hotplug_work` ومُفعّل (notifier) تغيير حالة وحدة المعالجة المركزية (CPU)، بافتراض أن السباق قد زال الآن.
لاحقاً، حدّثت الإضافة 7a0aabd9ce69 ("cgroup/cpuset: استخدام cpu_active_mask دائماً") كود cpuset لاستخدام `cpu_active_mask` بدلاً من `cpu_online_mask` في بعض الأماكن، بما في ذلك دالة `guarantee_online_cpus()` التي أُعيد تسميتها إلى `guarantee_active_cpus()` في تلك الإضافة.
في حالة عملية إيقاف وحدة المعالجة المركزية (CPU offline)، يتم تحديث `cpu_active_mask` أولاً في `sched_cpu_deactivate()` لإزالة وحدة المعالجة المركزية غير المتصلة قبل استدعاء `cpuset_handle_hotplug()` لتحديث `effective_cpus` لمجموعات cpset المتأثرة. ثم يُحدَّث `cpu_online_mask` لاحقاً قرب نهاية عملية الإيقاف لإزالة وحدة المعالجة المركزية غير المتصلة. ونتيجة لذلك، يعود السباق (race condition)، وقد لا تحتوي مجموعة cpset العليا على أي وحدة معالجة مركزية نشطة، مما يؤدي إلى محاولة الوصول إلى مؤشر فارغ (NULL pointer dereference) خلال نافذة السباق عند استدعاء `guarantee_active_cpus()` بعد تحديث `cpu_active_mask` لإزالة وحدة المعالجة المركزية المرى تفكيكها، ولكن قبل أن يتمكن `cpuset_handle_hotplug()` من تحديث `effective_cpus` لمجموعة cpset العليا بشكل صحيح.
تم إصلاح هذه المشكلة بإضافة فحص NULL لـ cs مرة أخرى لتجنب هذا المشكل.
If you want to get best quality of vulnerability data, you may have to visit VulDB.