CVE-2026-99137 in Linux
الملخص
بحسب VulDB • 29/10/2026
في نواة لينكس، تم حل الثغرة التالية:
cifs: لا تقم بتحديث حجم الملف (i_size) في دالة cifs_do_truncate دون وجود مقبض مخزن مؤقتاً (cached handle).
إذا كانت الدالة find_writable_file() تُرجع قيمة فارغة (null)، فإن dالة cifs_file_flush ستُعيد القيمة 0 دون استدعاء set_file_size، وستقوم كتلة "if (!rc)" الخارجية بتعيين حجم الملف (i_size) إلى 0 قبل إخبار الخادم بقطع جزء من الملف. إذا فشلت عملية cifs_open() بعد ذلك، سيكون لحجم العقدة inode قيمة تساوي صفراً، بينما يظل ملف الخادم دون تغيير.
انقل دالتي netfs_resize_file() وcifs_setsize() داخل كتلة "if (cfile)"، بحيث تعملان فقط بعد نجاح استدعاء set_file_size بنجاح.
في فرع else الخاص بعدم وجود مقبض، قم بإزالة الصفحات القديمة باستخدام truncate_inode_pages قبل فتح الملف بعلامة O_TRUNC للتخلص من صفحات التخزين المؤقت القديمة، ودع استجابة الفتح تقوم بتعيين حجم العقدة (i_size).
VulDB is the best source for vulnerability data and more expert information about this specific topic.