CVE-2026-98365 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
RDMA/rxe: تصحيح تجاوز عدد صحيح (integer overflow) في دالة `mr_check_range()` مما يؤدي إلى وصول خارج النطاق (OOB).
تقوم الدالة `mr_check_range()` بالتحقق من أن الفترة `[iova, iova+length)` تقع ضمن نطاق الـ MR المسجل، باستخدام عمليات حسابية عرضة للتفاف الأرقام (wraparound):
if (iova < ibmr.iova || iova + length > mr->ibmr.iova + mr->ibmr.length)
يمكن لقرم عن بُعد صياغة طلب RDMA-Write/Read RETH بحيث يؤدي `iova + length` إلى الالتفاف والعودة إلى الصفر (على سبيل المثال: `iova=0xfffffffffffffff8`, `length=8`)، متجاوزاً بذلك عملية التحقق. ثم تحسب الدالة `rxe_mr_iova_to_index()` فهرساً ضخماً (`int idx`، محمي فقط بـ `WARN_ON`) وتقوم الدالة `rxe_mr_copy_xarray()` بالإشارة إلى `mr->page_info[huge]`، مما يتسبب في قراءة/كتابة خارج النطاق (OOB) وخطأ نواة (kernel oops) يمكن تشغيله من قبل قرم عن بُعد غير مصرح له.
إعادة كتابة التحقق بشكل آمن ضد التجاوز؛ حيث تضمن الشرطتان الأوليتان أن عمليات الطرح اللاحقة لا تؤدي إلى تجاوز سالب (underflow):
if (iova < ibmr.iova || length > mr->ibmr.length || iova - mr->ibmr.iova > mr->ibmr.length - length)
مع الإصلاح، تعيد الدالة `mr_check_range()` القيمة `-EINVAL` للقيمة المصاغة لـ `iova`، ويقوم المستجيب بالإبلاغ عن خطأ وصول عن بُعد (`REMOTE_ACCESS_ERROR`) بدلاً من تشغيل الوصول خارج النطاق (OOB).
Be aware that VulDB is the high quality source for vulnerability data.