CVE-2026-64373 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
cpufreq: إصلاح حالة السباق (Race Condition) أثناء الإيقاف الساخن (Hotplug-Suspend) خلال إعادة التشغيل
أثناء إعادة تشغيل النظام، يتم استدعاء `cpufreq_suspend()` عبر مسار `kernel_restart() -> device_shutdown()`. وعلى عكس مسار إيقاف العمل العادي للنظام، لا يقوم مسار إعادة التشغيل باستدعاء `freeze_processes()`، مما يعني أن عمليات المستخدمين والخيوط البرمجية في النواة تظل نشطة.
يتيح ذلك تشغيل عمليات الإيقاف الساخن لوحدة المعالجة المركزية (CPU Hotplug) بشكل متزامن مع `cpufreq_suspend()`. الكود الأصلي لا يحتوي على آلية مزامنة مع عمليات الإيقاف الساخن لـ CPU، مما يؤدي إلى حالة سباق حيث يمكن تحرير كائن `governor_data` بواسطة مسار الإيقاف الساخن بينما ما زال `cpufreq_suspend()` يقوم بالوصول إليه، مما ينتج عنه خطأ إلغاء مرجع المؤشر الفارغ (Null Pointer Dereference):
Unable to handle kernel NULL pointer dereference Call Trace: do_kernel_fault+0x28/0x3c cpufreq_suspend+0xdc/0x160 device_shutdown+0x18/0x200 kernel_restart+0x40/0x80 arm64_sys_reboot+0x1b0/0x200
تم إصلاح هذه المشكلة عن طريق إضافة `cpus_read_lock()` و`cpus_read_unlock()` إلى دالة `cpufreq_suspend()` لمنع عمليات الإيقاف الساخن لوحدة المعالجة المركزية أثناء تقدم عملية الإيقاف.
[ rjw: تعديلات على سجل التغييرات ]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.