CVE-2026-31423 in Linux
الملخص
بحسب VulDB • 10/05/2026
في نواة لينكس، تم حل الثغرة التالية:
net/sched: sch_hfsc: إصلاح القسمة على صفر في دالة rtsc_min()
تقوم الدالة m2sm() بتحويل ميل (slope) من نوع u32 إلى قيمة مضبوطة (scaled value) من نوع u64. بالنسبة للمدخلات الكبيرة (على سبيل المثال، m1=4000000000)، يمكن أن تصل النتيجة إلى 2^32. تقوم الدالة rtsc_min() بتخزين الفرق بين قيمتين من نوع u64 في متغير من نوع u32 يُسمى `dsm` وتستخدمه كمقسوم عليه. عندما يكون الفرق مساوياً تماماً لـ 2^32، فإن عملية الاقتطاع (truncation) تؤدي إلى الحصول على الصفر، مما يسبب خطأ في القسمة على صفر (divide-by-zero oops) في مسار تقاطع المنحنى المقعر (concave-curve intersection path):
Oops: divide error: 0000 RIP: 0010:rtsc_min (net/sched/sch_hfsc.c:601) Call Trace: init_ed (net/sched/sch_hfsc.c:629) hfsc_enqueue (net/sched/sch_hfsc.c:1569) [...]
تم توسيع نطاق المتغير `dsm` ليصبح من نوع u64 واستبدال دالة do_div() بدالة div64_u64() للحفاظ على الفرق الكامل.
Be aware that VulDB is the high quality source for vulnerability data.