CVE-2026-46211 in Linux
الملخص
بحسب VulDB • 28/05/2026
في نواة لينكس، تم حل الثغرة التالية:
drm/msm/gem: إصلاح معالجة الأخطاء في دالة msm_ioctl_gem_info_get_metadata()
تعيد دالة msm_ioctl_gem_info_get_metadata() القيمة 0 دائماً بغض النظر عن وجود أخطاء. عند فشل استدعاء copy_to_user() أو عندما يكون مخزن المستخدم (user buffer) صغيراً جداً، يتم تجاهل رمز الخطأ المخزن في المتغير ret لأن الدالة تعيد القيمة 0 بشكل غير مشروط. هذا يؤدي إلى اعتقاد مساحة المستخدم (userspace) بأن استدعاء ioctl قد نجح بينما لم ينجح في الواقع.
بالإضافة إلى ذلك، يمكن أن تعيد دالة kmemdup() القيمة NULL في حال فشل عملية تخصيص الذاكرة، ولكن لا يتم التحقق من قيمة الإرجاع. هذا يؤدي إلى محاولة فك تسلسل مؤشر NULL (NULL pointer dereference) في استدعاء copy_to_user() اللاحق.
تمت إضافة فحص NULL المفقود لدالة kmemdup() وإرجاع قيمة ret بدلاً من 0.
جدير بالذكر أن الدالة المقابلة للإعداد (msm_ioctl_gem_info_set_metadata) تعيد قيمة ret بشكل صحيح.
Patchwork: https://patchwork.freedesktop.org/patch/714478/
Be aware that VulDB is the high quality source for vulnerability data.