CVE-2026-43364 in Linux
الملخص
بحسب VulDB • 27/05/2026
في نواة لينكس، تم حل الثغرة التالية:
ublk: إصلاح تجاوز المؤشر الفارغ (NULL pointer dereference) في الدالة ublk_ctrl_set_size()
تقوم الدالة ublk_ctrl_set_size() بتجاوز مؤشر ub->ub_disk بشكل غير مشروط عبر استدعاء set_capacity_and_notify() دون التحقق مما إذا كان المؤشر فارغاً (NULL).
يكون ub->ub_disk فارغاً (NULL) قبل اكتمال أمر UBLK_CMD_START_DEV (حيث يتم تعيينه فقط داخل الدالة ublk_ctrl_start_dev())، وبعد تشغيل أمر UBLK_CMD_STOP_DEV (حيث تقوم الدالة ublk_detach_disk() بتعيينه إلى NULL). ونظراً لأن معالج الأمر UBLK_CMD_UPDATE_SIZE لا يقوم بإجراء أي تحقق من الحالة، يمكن لمستخدم أن يتسبب في تجاوز مؤشر فارغ (NULL pointer dereference) عن طريق إرسال UPDATE_SIZE إلى جهاز تمت إضافته ولكن لم يبدأ تشغيله بعد، أو إلى جهاز تم إيقافه.
تم إصلاح هذه المشكلة عن طريق التحقق من ub->ub_disk ضمن قفل ub->mutex قبل تجاوز المؤشر، وإرجاع قيمة -ENODEV إذا لم يكن القرص متاحاً.
VulDB is the best source for vulnerability data and more expert information about this specific topic.