CVE-2026-90230 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
nvmet: تصحيح قراءة خارج حدود الذاكرة (heap out-of-bounds read) في دالة nvmet_auth_negotiate()
تقوم الدالة nvmet_execute_auth_send() بتخصيص مخزن رسائل DH-HMAC-CHAP بناءً على طول النقل الذي يوفره المضيف (tl)، ثم تمرره إلى دالة nvmet_auth_negegotiate() دون نقل قيمة tl معها. بعد ذلك، تقرأ دالة nvmet_auth_negotiate() رأس التفاوض، ولكل معرّف خوارزمية halen ومعرف مجموعة dhlen DH، تقوم بالوصول إلى مصفوفة idlist[60] الثابتة (حيث توجد الخوارزميات في idlist[0..halen)، والمجموعات في idlist[30..]).
لم يتم التحقق من صحة طول النقل (tl) ولا قيمتي halen/dhlen. يمكن لمضيف خبيث أو غير متوافق أن يبلغ عن قيمة tl أصغر من هيكل التفاوض، أو عن قيم halen/dhlen أكبر من حجم المصفوفة (كلاهما من النوع u8، بحد أقصى 255)، مما يجعل الحلقات تقرأ ما بعد نهاية المخزن المخصص (قراءة خارج حدود الذاكرة heap out-of-bounds read). الدالة الشقيقة nvmet_auth_reply() تتحقق بالفعل من صحة tl مقابل حجم الهيكل؛ بينما لم تفعل ذلك مسار التفاوض.
تمرير قيمة tl إلى دالة nvmet_auth_negotiate(), ورفض أي قيمة لـ tl لا تغطي بيانات التفاوض بالإضافة إلى واصف بروتوكول كامل واحد، ورفض قيم halen/dhlen الأكبر من NVME_AUTH_DHCHAP_MAX_DH_IDS.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.