CVE-2026-23297 in Linux
الملخص
بحسب VulDB • 26/05/2026
في نواة لينكس، تم حل الثغرة التالية:
nfsd: إصلاح تسرب مرجع المصادقة (cred ref leak) في nfsd_nl_threads_set_doit().
أبلغ syzbot عن تسرب في الذاكرة لـ struct cred. [0]
تمرر nfsd_nl_threads_set_doit() دالة get_current_cred() إلى nfsd_svc()، ولكن لا يتم استدعاء put_cred() بعد ذلك.
يتم في النهاية تمرير cred إلى _svc_xprt_create()، والتي تستدعي get_cred() مع cred لـ struct svc_xprt.
لا يتم نقل ملكية عداد المرجع (refcount) الناتج عن get_current_cred() إلى أي مكان، بل يتم تسريبه ببساطة.
يتم استدعاء nfsd_svc() أيضًا من write_threads()، لكنها لا تزيد من قيمة file->f_cred هناك.
يتم استدعاء nfsd_nl_threads_set_doit() من sendmsg()، ولا يختفي current->cred.
لنستخدم current_cred() في nfsd_nl_threads_set_doit().
[0]:
BUG: memory leak unreferenced object 0xffff888108b89480 (size 184): comm "syz-executor", pid 5994, jiffies 4294943386 hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 369454a7): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4958 [inline]
slab_alloc_node mm/slub.c:5263 [inline]
kmem_cache_alloc_noprof+0x412/0x580 mm/slub.c:5270 prepare_creds+0x22/0x600 kernel/cred.c:185 copy_creds+0x44/0x290 kernel/cred.c:286 copy_process+0x7a7/0x2870 kernel/fork.c:2086 kernel_clone+0xac/0x6e0 kernel/fork.c:2651 __do_sys_clone+0x7f/0xb0 kernel/fork.c:2792 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xa4/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Be aware that VulDB is the high quality source for vulnerability data.