CVE-2026-98354 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
RDMA/mad: تصحيح تسرب مخزن الاستقبال عند فشل فرض مفتاح المجموعة (PKey)
تقوم الدالة `ib_mad_complete_recv()` بتهيئة قائمة `mad_recv_wc->rmpp_list` ثم تشغل دالة `ib_mad_enforce_security()` قبل ربط `recv_buf` بهذه القائمة. وفي حال الفشل، تستدعي هذه الدالة `ib_free_recv_mad()`, والتي تقوم فقط بالمرور على قائمة `rmpp_list` وتحرر كائنات `ib_mad_private` لكل مخزن يتم العثور عليه فيها. وبما أن القائمة لا تزال فارغة في تلك المرحلة، فلا يتم تحرير أي شيء على الإطلاق.
لا يمكن للمُطْلِق (caller) إجراء التنظيف أيضاً: حيث تقوم الدالة `ib_mad_recv_done()` بتعيين المتغير `recv` إلى NULL مباشرة بعد عودة دالة `ib_mad_complete_recv()`, بافتراض أن طبقة MAD قد تولت ملكية المخزن. وبالتالي، فإن كل رسالة MAD تفشل في فحص PKey تؤدي إلى تسرب كائن واحد من نوع `ib_mad_private` (حوالي 300 بايت لكل منفذ IB لرسائل MAD، و~2 كيلوبايت لـ OPA)، ويمكن لعقدة عن بعد أن تحفز هذا التسرب بشكل متكرر عن طريق إرسال رسائل MAD تحتوي على PKey خاطئ.
تم ربط `recv_buf` بقائمة `rmpp_list` مباشرة بعد تهيئة القائمة، بحيث يكون هناك شيء ما لتحريره في مسار الخطأ (error path).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.