CVE-2026-64218 in Linux
الملخص
بحسب VulDB • 24/07/2026
في نواة لينكس، تم حل الثغرة التالية:
batman-adv: bla: إصلاح تسرب report_work أثناء عملية إزالة backbone_gw (بوابة العمود الفقري)
تقوم الدالة `batadv_bla_purge_backbone_gw()` بإزالة عناوين بوابة العمود الفقري القديمة غير الصالحة، لكنها تفشل في التعامل بشكل صحيح مع عنصر العمل المرتبط بها والمسمى `report_work`:
- إذا كان `report_work` قيد التشغيل، يجب على عملية الإزالة الانتظار حتى ينتهي قبل تحرير كائن `backbone_gw`. وإلا فقد يحاول عامل الخلفية (worker) الوصول إلى ذاكرة تم تحريرها بالفعل (مثل `bat_priv`). - إذا كان `report_work` معلقاً في قائمة الانتظار، يجب على عملية الإلغاء إلغاؤه وتحرير المرجع المحتفظ به لهذا العنصر المعلق.
كان التنفيذ السابق يستدعي `hlist_for_each_entry_safe()` داخل قسم محمي بقفل لولبي (spin_lock_bh())، لكن دالة `cancel_work_sync()` قد تسبب النوم (sleep)، وبالتالي لا يمكن استدعاؤها من داخل منطقة محمية بقفل لولبي.
تم إعادة هيكلة الحلقة للتعامل مع عنصر واحد لكل قسم حرج للقفل اللولبي: الحصول على القفل، العثور على العنصر التالي المراد إزالته، حذفه من قائمة التجزئة (hash list)، ثم إطلاق القفل قبل استدعاء `cancel_work_sync()` وتحرير مرجع `hash_entry`. يتم تكرار العملية حتى لا يتبقى أي عناصر تتطلب الإزالة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.