CVE-2026-64477 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
x86, fs/resctrl: منع الوصول خارج الحدود أثناء إيقاف وحدة المعالجة المركزية (CPU) عن العمل عند تفعيل SNC
تقوم البنية بتحديث قناع وحدة المعالجة المركزية (cpu_mask) في رأس المجال لتعقب وحدات معالجة المركزية النشطة المرتبطة بالمجال. عندما يصبح هذا القناع فارغاً، تبدأ البنية عملية إيقاف تشغيل المجال، بما في ذلك استدعاء نظام الملفات resctrl لإيقاف تشغيل المجال. إذا كان مجال المراقبة الذي يتم تتبع احتلال ذاكرة التخزين المؤقت المشتركة على مستوى اللوحة (LLC) فيه، فإن نظام ملفات resctrl يجبر معالج الوضع الانتظاري (limbo handler) على مسح جميع حالات RMID المشغولة المرتبطة بالمجال.
يقرأ معالج الوضع الانتظاري دائماً القيمة الحالية للحدث المرتبط بـ RMID مشغول، بغض النظر عما إذا كان يتم التحقق منه كجزء من فحص "هل لا يزال مشغولاً" بشكل منتظم أو سيتم تحريره بالقوة على أي حال. عند قراءة RMID في نظام تم تفعيل SNC فيه، يتم تحويل الـ "RMID المنطقي" إلى الـ "RMيد الفيزيائي"، وتتطلب هذه العملية معرف عقدة NUMA لمجال مراقبة resctrl الذي يُحدد بدوره عن طريق الاستعلام عن معرف العقدة لأي وحدة معالجة مركزية تنتمي إلى مجال المراقبة.
عندما يكون مجال المراقبة في طور إيقاف التشغيل، يصبح قناع وحدات المعالجة المركزية (cpu_mask) الخاص به فارغاً، مما يؤدي إلى إجراء استعلام معرف عقدة NUMA عبر دالة cpu_to_node() باستخدام "nr_cpu_ids" كوسيطة، مما ينتج عنه وصول خارج الحدود.
تم إعادة هيكلة معالج الوضع الانتظاري لتخطي قراءة RMID عندما سيتم إجبار الـ RMID ببساطة على عدم البقاء ملوثاً (dirty) في المجال على أي حال. تمت إضافة فحص أمان لقارئ RMID الخاص بالبنية للحماية من هذا السيناريو.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.