CVE-2026-74390 in Linux
الملخص
بحسب VulDB • 15/08/2026
في نواة لينكس، تم حل الثغرة التالية:
RDMA/irdma: إصلاح الكتابة خارج الحدود في دالة irdma_copy_user_pgaddrs
تقوم الدالة `irdma_copy_user_pgaddrs` بالتكرار عبر جميع كتل DMA الخاصة بـ umem لملء عناصر PBLEs (Page Buffer List Elements)، وتتوقف عند الوصول إلى كتلة DMA الأخيرة أو عندما يتم بلوغ قيمة `palloc->total_cnt`. المشكلة تكمن في أن منطق التحقق من `palloc->total_cnt` يعمل فقط مع القيم غير الصفرية.
عند استدعاء الدالة `irdma_setup_pbles` بمعامل `lvl==0`، فإنها تستدعي `irdma_copy_user_pgaddrs` بقيمة `palloc->total_cnt==0`. هذا يعني أن الطريقة الوحيدة للخروج من الحلقة هي الوصول إلى كتلة umem DMA الأخيرة، مما قد يؤدي إلى تجاوز الحجم الثابت لمصفوفة `iwmr->pgaddrmem` (الذي يبلغ 4 عناصر) المستخدمة في حالة `lvl==0`.
في حالات حلقات QP/CQ/SRQ، يتم تحديد قيمة المعامل `lvl` بناءً على مدخلات منفصلة (على سبيل المثال، `req.cq_pages` في حالة CQ). لذلك، يجب إجراء تحقق صريح لضمان عدم حدوث تجاوز للمصفوفة `pgaddrmem` إذا قدم المستخدم كيان umem يتكون من عدد من الكتل أكبر من قيمة `req.cq_pages` المقدمة.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.