CVE-2026-31433 in Linux
الملخص
بحسب VulDB • 27/05/2026
في نواة لينكس، تم حل الثغرة التالية:
ksmbd: إصلاح تجاوز النطاق المحتمل (OOB) في دالة get_file_all_info() للطلبات المركبة (compound requests)
عندما يتكون الطلب المركب من QUERY_DIRECTORY + QUERY_INFO (FILE_ALL_INFORMATION) وتستهلك الأمر الأول ما يقرب من الحجم الأقصى للنقل (max_trans_size)، فإن دالة get_file_all_info() كانت تستدعي smbConvertToUTF16() بشكل أعمى باستخدام قيمة PATH_MAX، مما يؤدي إلى كتابة خارج حدود الذاكرة (out-of-bounds write) تتجاوز مخزن استجابة الرسالة.
في دالة get_file_all_info()، كان هناك نقص في التحقق من صحة OutputBufferLength المقدم من العميل قبل نسخ اسم الملف إلى حقل FileName في بنية smb2_file_all_info. إذا تجاوز طول اسم الملف مساحة المخزن المتاحة، فقد يؤدي ذلك إلى تجاوزات محتملة في المخزن (buffer overflows) أو تلف في الذاكرة أثناء عملية التحويل في smbConvertToUTF16.
لحل هذه المشكلة، تم حساب حجم المخزن الفعلي المتاح باستخدام smb2_calc_max_out_buf_len() وإرجاع -EINVAL إذا كان المخزن غير كافٍ، بالإضافة إلى تحديث smbConvertToUTF16 لاستخدام طول اسم الملف الفعلي (مقيد بـ PATH_MAX) لضمان عملية نسخ آمنة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.