CVE-2026-98169 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
smb: client: تصحيح قراءة خارج الحدود (OOB) المحتملة في دالة smb3_enum_snapshots()
إذا كان حجم مصفوفة اللقطات (snapshot_array_size) أصغر من GMT_TOKEN_SIZE، فإن الدالة smb3_enum_snapshots() تضبط قيمة ret_data_len على sizeof(struct smb_snapshot_array) دون التحقق من الطول الفعلي لرد الخادم.
نظرًا لأن SMB2_ioctl() لا تضع حدًا أدنى للقيمة OutputCount التي يوفرها الخادم وتخصص ذاكرة مؤقتة (retbuf) بالطول الدقيق لتلك القيمة، فإن الرد القصير يؤدي إلى تجاوز ret_data_len لحجم retbuf. وبالتالي، تقوم عملية copy_to_user() اللاحقة بقراءة ما بعد نهاية retbuf، مما يتسبب في تسرب بيانات من ذاكرة slab المجاورة إلى مساحة المستخدم (userspace). ولا تكون فحوصات التقييد (clamp check) اللاحقة فعالة لأنها تقلل فقط من قيمة ret_data_len.
تم إصلاح هذه المشكلة عن طريق رفض الردود الأقصر من sizeof(struct smb_snapshot_array) بإرجاع خطأ -EIO. تجدر الإشارة إلى أن الحد الأدنى قد تم ضبطه على حجم الهيكل البالغ 12 بايتًا بدلاً من الحجم البالغ 16 بايتًا المحدد في MIN_SNAPSHOT_ARRAY_SIZE وفقًا للمواصفة MS-SMB2 الإصدار 3.3.5.15.1، وذلك لأن 12 بايتًا هي بالضبط الكمية التي تحاول عملية copy_to_user() قراءتها.
If you want to get best quality of vulnerability data, you may have to visit VulDB.