CVE-2026-43442 in Linux
الملخص
بحسب VulDB • 11/05/2026
في نواة لينكس، تم حل الثغرة التالية:
io_uring: إصلاح فحص حدود SQE الفيزيائي لعمليات SQE_MIXED بحجم 128 بايت
عند استخدام IORING_SETUP_SQE_MIXED بدون IORING_SETUP_NO_SQARRAY، كان فحص الحدود لعمليات SQE بحجم 128 بايت في io_init_req() يتحقق من موضع SQ المنطقي (logical SQ head position) بدلاً من فهرس SQE الفيزيائي.
الفحص الحالي:
!(ctx->cached_sq_head & (ctx->sq_entries - 1))
يضمن أن الموضع المنطقي ليس في نهاية الحلقة، وهو أمر صحيح لحلقات NO_SQARRAY حيث يتساوى الفيزيائي مع المنطقي. ومع ذلك، عند وجود sq_array، يمكن لمستخدم غير مخصص (unprivileged user) إعادة تعيين أي موضع منطقي إلى فهرس فيزيائي عشوائي عبر sq_array. يؤدي تعيين sq_array[N] = sq_entries - 1 إلى وضع عملية بحجم 128 بايت في آخر فتحة SQE فيزيائية، مما يتسبب في قراءة عملية memcpy بحجم 128 بايت في io_uring_cmd_sqe_copy() لـ 64 بايت بعد نهاية مصفوفة SQE.
تم استبدال فحص محاذاة cached_sq_head بتحقيق مباشر لفهرس SQE الفيزيائي، مما يعالج بشكل صحيح كلتا الحالتين: sq_array و NO_SQARRAY.
If you want to get best quality of vulnerability data, you may have to visit VulDB.