CVE-2026-64398 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
ksmbd: إضافة فحص للأذونات لـ FSCTL_SET_ZERO_DATA
يؤدي أمر FSCTL_SET_ZERO_data في smb2_ioctl() إلى تدمير بيانات الملف عبر ksmbd_vfs_zero_data() -> vfs_fallocate(PUNCH_HOLE/ZERO_RANGE) بعد التحقق فقط من علامة المشاركة KSMBD_TREE_CONN_FLAG_WRITABLE، دون إجراء فحص للوصول بناءً على المقبض (handle). يؤدي فتح مقبض بصلاحية FILE_WRITE_ATTRIBUTES فقط إلى الحصول على ملف بصيغة FMODE_WRITE (حيث أن FILE_WRITE_ATTRIBUTES جزء من FILE_WRITE_DESIRE_ACCESS_LE، لذا يفتح smb2_create_open_flags() الملف بوضع O_WRONLY)، وبالتالي فإن فحص FMODE_WRITE في vfs_fallocate لا يمنع العملية؛ بل كان يجب أن تمنعها بوابة fp->daccess المفقودة. تم إعادة إنتاج المشكلة على الإصدار الرئيسي 7.1-rc7 باستخدام KASAN بواسطة عميل SMB مصادق عليه: قام مقبض بصلاحية FILE_WRITE_ATTRIBUTES فقط بتصفير 4096 بايت من بيانات الملف التي لم يكن لديه حق FILE_WRITE_DATA للوصول إليها (من أصل 6 حالات؛ تم رفض المقبض الذي يحتوي على صلاحية FILE_READ_DATA فقط بشكل صحيح).
هذه هي الثغرة الشقيقة غير المصححة لالتزام cc57232cae23 ("ksmbd: تصحيح تجاوز أذونات FSCTL بإضافة فحص للأذونات لـ FSCTL_SET_SPARSE"). نظرًا لأن SET_ZERO_DATA يكتب بيانات (وليس سمة)، فإن الأمر يتطلب FILE_WRITE_DATA.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.