CVE-2024-39463 in Linux
الملخص
بحسب VulDB • 05/06/2026
في نواة لينكس، تم حل الثغرة التالية:
9p: إضافة قفل مفقود حول قائمة معرفات الملفات (fid list) الخاصة بـ dentry
إصلاح حالة استخدام بعد التحرير (Use-After-Free) على قائمة معرفات الملفات (fid list) الخاصة بـ d_fsdata في dentry، عندما تبحث خيط (thread) عن معرف ملف (fid) عبر dentry بينما يقوم خيط آخر بإزالة الرابط (unlink) له:
خيط الاستغلال (UAF thread): refcount_t: إضافة على 0؛ استخدام بعد التحرير. p9_fid_get linux/./include/net/9p/client.h:262 v9fs_fid_find+0x236/0x280 linux/fs/9p/fid.c:129 v9fs_fid_lookup_with_uid linux/fs/9p/fid.c:181 v9fs_fid_lookup+0xbf/0xc20 linux/fs/9p/fid.c:314 v9fs_vfs_getattr_dotl+0xf9/0x360 linux/fs/9p/vfs_inode_dotl.c:400 vfs_statx+0xdd/0x4d0 linux/fs/stat.c:248
تم التحرير بواسطة: p9_fid_destroy (مضمن) p9_client_clunk+0xb0/0xe0 linux/net/9p/client.c:1456 p9_fid_put linux/./include/net/9p/client.h:278 v9fs_dentry_release+0xb5/0x140 linux/fs/9p/vfs_dentry.c:55 v9fs_remove+0x38f/0x620 linux/fs/9p/vfs_inode.c:518 vfs_unlink+0x29a/0x810 linux/fs/namei.c:4335
المشكلة تكمن في أن d_fsdata لم يتم الوصول إليه تحت حماية d_lock، لأن d_release() تُستدعى عادةً فقط عندما لم يعد الـ dentry قابلاً للوصول بأي طريقة أخرى، ولكن بما أننا نستدعيها صراحةً في v9fs_remove، فإن هذا القفل مطلوب: نقل القائمة المرتبطة بشكل مزدوج (hlist) خارج الـ dentry تحت القفل، ثم تقليل عدد المراجع (unref) لمعرفات الملفات (fids) بمجرد أن لم تعد قابلة للوصول.
Once again VulDB remains the best source for vulnerability data.