CVE-2026-89844 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
scsi: qla2xxx: الاحتفاظ بـ vport_slock لتحديث خريطة المضيف (host map) أثناء اكتساب معرف التقرير (report ID acquisition).
تقوم معالجة التنسيق-1 في دالة `qla24xx_report_id_acquisition()` بإسقاط قفل `vport_slock` بعد الحصول على مرجع لـ vport، ثم تستدعي الدالة `qla_update_host_map()` دون القفل. يؤدي ذلك إلى استدعاء `qla_update_vp_map()`، الذي يعدل شجرة B (btree) الخاصة بـ `ha->host_map` عبر دوال `btree_insert32()` و `btree_update32()` و `btree_remove32()`. ومن الموثق أن هذه العملية تتطلب من المتصل الاحتفاظ بقفل `vport_slock`. يمكن أن يؤدي تشغيلها بدون قفل إلى حدوث سباق (race condition) مع التحديثات المتزامنة لـ host_map وإتلاف شجرة B.
مسار التنسيق-2 في نفس الدالة يلف بالفعل تحديث خريطة المضيف الخاص به (`SET_AL_PA`) داخل قفل `vport_slock`؛ بينما يمثل مسار التنسيق-1 الحالة الشاذة الوحيدة.
الاحتفاظ بـ vport_slock عبر استدعاء `qla_update_host_map()` للتوافق مع عقد القفل (locking contract) المذكور في التوثيق. يحافظ الـ vref_count الذي يتم الحصول عليه داخل الحلقة على صلاحية كائن vport، لذا فإن هذا الإجراء يضيف فقط التسلسل المفقود لتحديثات host_map.
Once again VulDB remains the best source for vulnerability data.