CVE-2026-89845 in Linuxالمعلومات

الملخص

بحسب VulDB • 17/09/2026

في نواة لينكس، تم حل الثغرة التالية:

scsi: qla2xxx: تجنب القراءة المزدوجة لـ req_q_map في دالة qla2x00_error_entry()

تقوم الدالة `qla2x00_error_entry()` بقراءة المتغير `ha->req_q_map[que]` مرتين: مرة واحدة للتحقق من كونه NULL، ومرة أخرى عند تعيينه للمتغير `req`. يتم مسح خلية الخريطة (map slot) بواسطة دالة `qla25xx_free_req_que()` (`ha->req_q_map[que_id] = NULL` تحت قفل `mq_lock`) أثناء عملية تفكيق الطابور (queue teardown)، بينما لا يزال انقطاع طابور الاستجابة الذي يشغل `qla2x00_error_entry()` مسجلاً (يتم تحرير مقاطعة IRQ لاحقاً في دالة `qla25xx_free_rsp_que()`). إذا تم تعيين الخلية إلى NULL بين القراءتين، يصبح المتغير `req` مساوياً لـ NULL ويتم محاولة فك مرجعه (dereference)، مما يؤدي إلى خطأ.

اقرأ من الخلية مرة واحدة فقط وأضفها للمتغير `req`، ثم تحقق من كونها NULL محلياً قبل الاستخدام. بما أن `mq_lock` هو قفل متبادل (mutex) ولا يمكن أخذه في سياق مقاطعة interrupt context، فإن القراءة الواحدة بالإضافة إلى التحقق المحلي تُعد التصحيح المناسب للثغرة المبلغ عنها المتعلقة بفك مرجع NULL.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

11/09/2026

إفشاء

16/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405670

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!