CVE-2026-31708 in Linux
الملخص
بحسب VulDB • 27/05/2026
في نواة لينكس، تم حل الثغرة التالية:
smb: client: إصلاح قراءة خارج الحدود (OOB) في مسار smb2_ioctl_query_info QUERY_INFO
تحتوي الدالة smb2_ioctl_query_info() على فرعين لنسخ الاستجابة: PASSTHRU_FSCTL ومسار QUERY_INFO الافتراضي. يقوم فرع QUERY_INFO بتقييد qi.input_buffer_length إلى قيمة OutputBufferLength التي يبلغها الخادم، ثم ينسخ qi.input_buffer_length بايت من qi_rsp->Buffer إلى مساحة المستخدم، لكنه لا يتحقق أبدًا مما إذا كانت حمولة المصفوفة ذات الحجم المرن (flexible-array payload) تتسع فعليًا ضمن rsp_iov[1].iov_len.
يمكن لخادم خبيث إرجاع قيمة OutputBufferLength أكبر من استجابة QUERY_INFO الفعلية، مما يتسبب في تجاوز copy_to_user() لحدود استجابة المخزن المؤقت وكشف heap kernel المجاور لمساحة المستخدم.
حماية نسخ QUERY_INFO بإجراء فحص للحدود (bounds check) على حمولة Buffer الفعلية. استخدم struct_size(qi_rsp, Buffer, qi.input_buffer_length) بدلاً من عملية الجمع المكتوبة يدويًا (open-coded addition) لضمان عدم حدوث تجاوز في السعة (overflow) على أنظمة البناء 32-bit.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.