CVE-2026-97528 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
scsi: qla2xxx: فك ارتباط سياق NVMe غير المُطلَب (unsol ctx) قبل تحريره عند حدوث خطأ رفض LS
تستدعي الدالة `qla_nvme_xmt_ls_rsp()` المتغير `uctx`، الذي كان مرتبطًا بقائمة `fcport->unsol_ctx_head` عبر دالة `qla2xxx_process_purls_iocb()` ولا يزال مربوطًا عندما تعيد نواة NVMe الاتصال لإرسال استجابة LS. في مسار الخطأ (out:) تقوم الدالة بتحرير الذاكرة الخاصة بـ `uctx` باستخدام `kfree()` لكنها لا تزيله من القائمة أبدًا. هذا يترك عقدة مُحرَّرة الذاكرة داخل `fcport->unsol_ctx_head`: فاستدعاء `list_add_tail()` التالي لذلك الـ fcport يكتب عبر العقدة المُحرَّرة، ويمكن أن يؤدي استدعاء `list_del()` لاحق إلى تلف القائمة أو حدوث توقف مفاجئ للنظام (panic).
تم فك ارتباط `uctx` باستخدام `list_del()` قبل تنفيذ `kfree()` في مسار الخطأ، تماشيًا مع مواقع التحرير الأخرى في الدالتين `qla_nvme_release_lsrsp_cmd_kref()` و `qla2xxx_process_purls_pkt()`. دالة `qla2x00_rel_sp()` في مسار الفشل تعيد فقط وحدة معالجة الطلبات (SRB) إلى مجموعتها ولا تستدعي `sp->put_fn`، لذا فإن مسار `out:` هو موقع التحرير الوحيد حيث يظل `uctx` مربوطًا دائمًا.
If you want to get best quality of vulnerability data, you may have to visit VulDB.