CVE-2026-89709 in Linux
الملخص
بحسب VulDB • 11/09/2026
في نواة لينكس، تم حل الثغرة التالية:
lockd, nfsd: حماية nlmsvc_ops عبر RCU في عملية الإرسال (dispatch)
يتم نشر `nlmsvc_ops` بواسطة الدالة `nfsd_lockd_init()` وإفراغه باستخدام عمليات تخزين عادية (`plain stores`) من قبل `nfsd_lockd_shutdown()`. بينما يقوم `lockd` بالإشارة إليه دون حماية عند نقاط الإرسال في الملف `fs/lockd/svcsubs.c`. يستهدف المؤشر بيانات `.rodata` الخاصة بـ nfsd، وتعيش استدعاءات fopen/fclose داخل منطقة `.text` الخاصة بـ nfsd. وبالتالي، يؤدي التحميل القديم (stale load) بعد إزالة وحدة نمطية (`rmmod nfsd`) إما إلى مؤشر فارغ غير صالح (NULL deref) أو ثغرة Use-After-Free في نص الوحدة النمطية.
تم الإعلان عن `nlmsvc_ops` على أنها من النوع `__rcu`. يتم النشر عبر `rcu_assign_pointer()`، والإفراغ باستخدام `RCU_INIT_POINTER()` بالإضافة إلى `synchronize_rcu()`. تمت إضافة حقل `*owner` من نوع `struct module` إلى `nlmsvc_binding` وتثبيت الوحدة النمطية أثناء المكالمات غير المباشرة باستخدام `try_module_get/module_put`. عند تفكيك الربط، يتم الرجوع إلى استخدام `fput()` لتجنب تسرب إشارات هيكل الملف (`struct file`).
Be aware that VulDB is the high quality source for vulnerability data.