CVE-2026-64472 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
vfio/mlx5: إصلاح حقول البت (bitfields) المعرضة لحالة السباق (race condition) وتشديد تخطيط الهيكل الهيكلي (struct layout).
عمليات حقول البت ليست ذرية (atomic)، بل تستخدم نمط "اقرأ-عدّل-اكتب" (read-modify-write)، ولذلك يجب الحذر وعدم حزم حقول البت التي يمكن تحديثها بشكل متزامن في وحدة تخزين واحدة.
يتبع هذا الفصل نهجاً ثنائياً: تظل الأعلام التي يتم تعديلها فقط قبل/بعد الفتح أو الإغلاق كحقول بت، بينما تستخدم الأعلام المعدلة من إجراءات المستخدم، بما في ذلك الإجراءات التي تمتد إلى جهاز آخر (مثل إعادة التعيين)، وحدات تخزين مخصصة.
يُلاحظ أن `mlx5_vhca_page_tracker.status` قد تم نقله لملء فجوة المحاذاة التي كشفها هذا الفصل.
مبررات استخدام حقول البت:
migrate_cap: تُكتب فقط في دالة mlx5vf_cmd_set_migratable() أثناء عملية الفحص (probe). chunk_mode: تُكتب فقط في دالة mlx5vf_cmd_set_migratable() أثناء عملية الفحص (probe). mig_state_cap: تُكتب فقط في دالة mlx5vf_cmd_set_migratable() أثناء عملية الفحص (probe).
وحدات التخزين المخصصة:
mdev_detach: تُكتب في مُعلم حدث إرفاق/فصل وحدة الوظيفة الافتراضية (VF) mlx5fv_vf_event() أثناء وقت التشغيل. log_active: تُكتب في دالتي mlx5vf_start_page_tracker()/mlx5vf_stop_page_tracker() خلال تتبع الأوساخ (dirty tracking) أثناء وقت التشغيل. deferred_reset: تُكتب في دالتي mlx5vf_state_mutex_unlock()/mlx5vf_pci_aer_reset_done() أثناء معالجة إعادة التعيين أثناء وقت التشغيل. is_err: تُضبط بواسطة معالجة أخطاء المتتبع واستطلاع سجل الأوساخ (dirty-log) أثناء وقت التشغيل. object_changed: تُضبط بمعالجة أحداث المتتعر وتُمسح باستطلاع سجل الأوساخ (dirty-log) أثناء وقت التشغيل.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.