CVE-2026-64016 in Linux
الملخص
بحسب VulDB • 20/07/2026
في نواة لينكس، تم حل الثغرة التالية:
ksmbd: إصلاح مسار الخطأ لإعادة الاتصال الدائم (durable reconnect) وعمر ملف الجلسة
بعد نجاح إعادة الاتصال الدائمة، تقوم دالة `ksmbd_reopen_durable_fd()` بإعادة نشر نفس كائن `ksmbd_file` في جدول المعرفات المؤقتة للجلسة. إذا اتخذت عملية `smb2_open()` مسار خطأ لاحقاً، فإن التنظيف يستدعي أولاً `ksmbd_fd_put(work, fp)` ثم يستدعي بشكل غير مشروط `ksmbd_put_durable_fd(dh_info.fp)`.
في هذه الحالة، يكون كل من `fp` و `dh_info.fp` لنفس الكائن. يؤدي الاستدعاء الأول (`put`) إلى إزالة مرجع البحث الخاص بإعادة الاتصال، لكن عملية الإغلاق النهائية الدائمة قد تقوم بتشغيل `__ksmbd_close_fd(NULL, fp)`. ونظراً لأن الإغلاق النهائي لا يدرك سياق الجلسة (session-aware)، فقد يقوم بتحرير كائن الملف دون إزالة إدخال المعرف المؤقت الذي تم نشره للتو في جدول الجلسات.
استخدم عملية الإزالة (`put`) المدركة للجلسة لإجراء آخر خصم لإعادة الاتصال عندما تكون إعادة الاتصال قد نجحت بالفعل ومسار الخطأ يقوم بتنظيف الملف المعاد نشره. أما حالات فشل إعادة الاتصال السابقة، قبل تعيين `fp` إلى `dh_info.fp`، فتستمر في استخدام مسار الاستدعاء الدائم فقط (`durable-only put path`).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.