CVE-2026-74444 in Linux
الملخص
بحسب VulDB • 15/08/2026
في نواة لينكس، تم حل الثغرة التالية:
drm/vmwgfx: التحقق من صحة حجم رأس DRAW_PRIMITIVES قبل عملية القسمة
تحسب الدالة vmw_cmd_draw() القيمة كالتالي:
maxnum = (header->size - sizeof(cmd->body)) / sizeof(*decl);
حيث أن header->size هو متغير من نوع u32، ويتم استلامه مباشرةً من تدفق الأوامر الذي يزوده المستخدم. عندما تكون قيمة header->size أقل من sizeof(cmd->body)، فإن عملية الطرح غير الموقّعة (unsigned subtraction) تسبب تجاوزاً للحدود (wrap-around) لتصبح القيمة قريبة من 4 غيغابايت، مما ينتج عنه قيمة ضخمة لـ maxnum. أي قيمة يتحكم فيها المستخدم في cmd->body.numVertexDecls ستجاوز الحدود المحددة، وسيعمل الحلقة على فك مرجع decl[i] بعيداً جداً عن نهاية مخزن الارتداد (bounce buffer) لأوامر النواة، مما يؤدي إلى قراءة خارج نطاق الذاكرة (out-of-bounds read) لذاكرة النواة.
رفض الرؤوس ذات الأحجام غير الكافية في البداية.
VulDB is the best source for vulnerability data and more expert information about this specific topic.