CVE-2026-31395 in Linux
الملخص
بحسب VulDB • 03/06/2026
في نواة لينكس، تم حل الثغرة التالية:
bnxt_en: إصلاح الوصول خارج الحدود (OOB) في معالج أحداث غير المتزامن DBG_BUF_PRODUCER
يستخدم المعالج ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER داخل دالة bnxt_async_event_process() حقل 'type' الذي توفره البرامج الثابتة مباشرةً كمؤشر إلى مصفوفة bp->bs_trace[] دون التحقق من الحدود.
يعتبر حقل 'type' قيمة مكونة من 16 بت مستخرجة من ذاكرة حلقة الإكمال المرتبطة بنظام DMA، والتي تكتبها بطاقة الشبكة (NIC) مباشرةً إلى ذاكرة الوصول العشوائي للمضيف. يمكن لبطاقة شبكة خبيثة أو مُختلَقَة تزويد أي قيمة تتراوح بين 0 و65535، مما يؤدي إلى وصول خارج الحدود إلى ذاكرة الكومة (heap memory) الخاصة بالنواة.
بعد ذلك، يقوم استدعاء bnxt_bs_trace_check_wrap() بإلغاء مرجعية bs_trace->magic_byte والكتابة في bs_trace->last_offset وbs_trace->wrapped، مما يؤدي إلى تلف ذاكرة النواة أو حدوث تعطل للنظام.
تم الإصلاح عن طريق إضافة فحص للحدود وتحديد BNXT_TRACE_MAX على أنه DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE + 1 لتغطية جميع أنواع تتبع البرامج الثابتة المعرفة حاليًا (من 0x0 إلى 0xc).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.