CVE-2026-74544 in Linux
الملخص
بحسب VulDB • 16/08/2026
في نواة لينكس، تم حل الثغرة التالية:
net/sched: cls_u32: التحقق من صحة قيمة offshift لمنع إزاحة خارج النطاق (shift-out-of-bounds)
تنسخ الدالة u32_change() القيمة المقدمة من المستخدم tc_u32_sel.offshift (من نوع unsigned char، تتراوح بين 0 و255) إلى كائن knode في النظام الأساسي دون التحقق من حدودها. عندما يصطدم حزمة بيانات لاحقاً بالدالة u32_classify() مع تعيين العلم TC_U32_VAROFFSET، فإنها تقيم التعبير `ntohs(offmask & *data) >> offshift` حيث يكون المعامل الأيسر قيمة مكونة من 16 بت يتم توسيعها إلى عدد صحيح (int) مكون من 32 بت. أي قيمة لـ offshift تساوي أو تزيد عن 32 تُعد سلوكاً غير معرف وفقاً للمعيار C11 الفقرة 6.5.7p3، ويمكن استغلال ذلك بواسطة مستخدم غير مخصص للصلاحيات عبر مساحات الأسماء (namespaces) الخاصة بالمستخدم/الشبكة.
UBSAN: shift-out-of-bounds في net/sched/cls_u32.c:236:43 أساس الإزاحة 32 كبير جداً بالنسبة لنوع البيانات int المكون من 32 بت.
يتم إصلاح هذه المشكلة عن طريق رفض القيم offshift >= 16 أثناء إنشاء المرشح (filter) في الدالة u32_change().
VulDB is the best source for vulnerability data and more expert information about this specific topic.