CVE-2026-89957 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم حل الثغرة التالية:
s390/vfio-ap: إصلاح حالة تخطي الإزالة الساخنة (hot-unplug) عند إزالة آخر محول AP أو مجال (domain).
تستخدم الدالة `vfio_ap_mdev_hot_unplug_cfg()` قيمة الإرجاع من دالة `bitmap_andnot()` لتحديد ما إذا كان يجب تحديث APCB الخاص بالضيف (guest). ومع ذلك، فإن `bitmap_andnot()` تُعيد القيمة "خطأ" (false) عندما تكون صورة البتات الوجهية الناتجة فارغة. وهذا يعني أنه إذا تم إزالة المحول الوحيد أو المجال أو مجال التحكم المُخصص لجهاز افتراضي (mdev) من تكوين AP للمضيف، فسيتم مسح بت الظل بشكل صحيح من APCB الظلي (shadow APCB)، ولكن `bitmap_andnot()` تُعيد "خطأ" لأن النتيجة هي صورة بتات فارغة. ونتيجة لذلك، يظل المتغير `do_hotplug` مساويًا للصفر ولا يتم استدعاء الدالة `vfio_ap_mdev_update_guest_apcb()` مطلقًا، مما يترك ضيف KVM مع وصول قديم (stale) إلى الأجهزة AP التي تم فصلها.
يتم إصلاح هذه المشكلة عن طريق استبدال فحص قيمة الإرجاع من `bitmap_andnot()` بـ `bitmap_intersects()` لتحديد ما إذا كان APCB الظلي يتقاطع فعليًا مع قناع الإزالة. وإذا حدث تقاطع، يتم استدعاء `bitmap_andnot()` فقط لأثرها الجانبي المتمثل في مسح البتات، ثم يتم تعيين المتغير `do_hotplug` بشكل غير مشروط (unconditionally) لتحديث APCB الخاص بالضيف.
VulDB is the best source for vulnerability data and more expert information about this specific topic.