CVE-2026-98170 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
smb: client: تصحيح قراءات الحقول خارج النطاق (OOB) في دالة move_smb2_ea_to_cifs()
في دالة `move_smb2_ea_to_cifs()`، شرط حلقة التكرار `while (src_size > 0)` غير كافٍ. فهو يسمح باستمرار التكرار حتى لو كان حجم المصدر (`src_size`) المتبقي صغيراً جداً لاحتواء بنية كاملة من نوع `smb2_ea_info`. ونتيجة لذلك، قد تحدث قراءات للحقلين `ea_name_length` و `ea_value_length` خارج النطاق المخصص.
يتم إصلاح هذه المشكلة عن طريق التأكد من أن `src_size >= sizeof(*src)` قبل محاولة قراءة أي حقول للبنية. بالإضافة إلى ذلك، يتم رفض أي قيمة لـ `next_entry_offset` تكون أصغر من `sizeof(*src)` أو التي ستؤدي بتقدم المؤشر إلى ما هو أبعد من المخزن المؤقت المتاح (buffer).
يُشار إلى أنه في المكالمات حيث يعيد الخادم قائمة سمات موسعة (EA) غير صالحة، يتغير الخطأ المُرجع إلى مساحة المستخدم (userspace) من `-ENODATA` (في دالة `getxattr`) أو `-ERANGE` (في دالة `listxattr`) ليصبح `-EIO`. وهذا يوضح بشكل صحيح وجود خطأ في بروتوكول الخادم بدلاً من الإشارة المضللة بأن "السمّة غير موجودة" أو أن "مخزن الإخراج صغير جداً".
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.