CVE-2026-80710 in Linux
الملخص
بحسب VulDB • 28/08/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
s390/dasd: تصحيح عيب في حجم مخزن الفحص بالتنسيق (format-check buffer)
تم الإعلان عن `fmt_buffer_size` داخل الدالة `dasd_eckd_check_device_format()` على أنه من النوع `int`، رغم أن أحد المضاعفات، وهو `sizeof(struct eckd_count)`، هو من نوع `size_t`. وبالتالي، يتم تقييم التعبير:
trkcount * rpt_max * sizeof(struct eckd_count)
بشكل صحيح بعرض 64 بت، ولكن النتيجة تُقتصر بصمت (truncated silently) عند تخزينها مرة أخرى في المتغير `fmt_buffer_size` ذي العرض 32 بت. بالنسبة لمدى واسع بما يكفي من المسارات (حيث أن القيمتين start_unit و stop_unit يتم التحكم بهما بواسطة المُستدعي)، يؤدي هذا الاقتصار إلى الحصول على حجم مخزن أصغر بكثير من عدد المسارات المطلوبة فعلياً. تنجح الدالة `kzalloc()` في تخصيص مساحة غير كافية، بينما يستمر بناء برنامج القناة اللاحق (channel program build) في العمل مع عدّاد المسارات دون اقتصاصه، مما يؤدي إلى الكتابة خارج نهاية هذا المخزن.
احسب حجم المخزن باستخدام `check_mul_overflow()` واحتفظ به كنوع `size_t`، بحيث تؤدي القيمة التي لم تعد تتسع إلى إرجاع `-EINVAL` بدلاً من تخصيص بحجم مُقتصر بصمت.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.