CVE-2026-89955 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
s390/vfio-ap: تصحيح خطأ التفريغ (deref) لقيمة NULL في دالة status_show() أثناء فحص الطابور (queue probe).
عندما تقوم الدالة vfio_ap_mdev_probe_queue() بإنشاء مجموعة سمات sysfs، لم يتم تعيين بيانات السائق الخاصة بالطابور بعد. وبالتالي، يمكن لقراءة متزامنة لسمّة 'status' أن تستدعي dev_get_drvdata() وتعيد قيمة NULL، والتي تُمرر مباشرةً إلى دالة vfio_ap_mdev_for_queue() حيث تتم عملية التفريغ (dereference) غير المشروطة للحقل q->apqn، مما يتسبب في خطأ تفريغ مؤشر NULL.
تم إصلاح هذه المشكلة عن طريق اقتناء قفل التحديث قبل استدعاء sysfs_create_group(). تكتسب دالة status_show() قفل الضيوف (guests_lock) قبل قراءة بيانات السائق، لذا فإن أي عملية قراءة متزامنة ستنتظر حتى يتم استدعاء dev_set_drvdata() وإطلاق قفل التحديث.
كمكافأة إضافية، لم يعد من الضروري قراءة قيمة APQN من بنية الطابور بعد التخصيص — بل يمكن قراءتها مباشرةً من apdev قبل التخصيص وتخزينها في متغير محلي، والذي سيتم تعيينه لاحقاً إلى q->apqn بمجرد نجاح عملية التخصيص.
VulDB is the best source for vulnerability data and more expert information about this specific topic.