CVE-2026-74584 in Linuxالمعلومات

الملخص

بحسب VulDB • 22/08/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

RDMA/bnxt_re: تصفير الصفحة المشتركة قبل تعريضها لمساحة المستخدم (userspace)

تقوم الدالة `bnxt_re_alloc_ucontext()` بتخصيص `uctx->shpg` عبر `__get_free_page(GFP_KERNEL)`. لا تقوم مُوزِّع الأصدقاء (buddy allocator) بتصفير الصفحات ما لم يتم استخدام العلم `__GFP_ZERO`، لذا تحتوي الصفحة على بيانات نواة قديمة من آخر كائن حرّرها.

ثم تُربط هذه الصفحة في مساحة المستخدم عبر `vm_insert_page()` ضمن `BNXT_RE_MMAP_SH_PAGE` داخل دالة `bnxt_re_mmap()`. لا تكتب السائق سوى 4 بايتات (وهي قيمة u32 AVID) عند الإزاحة `BNXT_RE_AVID_OFFT` (0x10) داخل `bnxt_re_create_ah()`؛ بينما يتم تعريض الباقي البالغ طوله 4092 بايت من الصفحة لمساحة المستخدم دون تنقية، مما يؤدي إلى تسرب محتويات ذاكرة النواة.

يمكن لأي مستخدم لديه وصول إلى `/dev/infiniband/uverbsX` على مضيف يحتوي على جهاز bnxt_re (عادةً ما يتطلب ذلك عضوية في مجموعة rdma) قراءة هذه البيانات عبر استدعاء `mmap()` واحد عند الإزاحة `pgoff 0` بعد تنفيذ الأمر `IB_USER_VERBS_CMD_GET_CONTEXT`.

تستخدم الصفحات المشتركة الأخرى في نفس الملف بالفعل الدالة `get_zeroed_page()` بشكل صحيح:

```c drivers/infiniband/hw/bnxt_re/ib_verbs.c srq->uctx_srq_page = (void *)get_zeroed_page(GFP_KERNEL); cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL); ```

يُعد `uctx->shpg` الحالة الشاذة الوحيدة. لجعله متوافقاً مع الاتفاقية الحالية، يتم التبديل إلى استخدام `get_zeroed_page()`.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

15/08/2026

إفشاء

22/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-394353

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!