CVE-2026-23297

nfsd: Fix cred ref leak in nfsd_nl_threads_set_doit().

State
Published
Severity
Not scored
Published
Mar 25, 2026
Updated
May 11, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

nfsd: Fix cred ref leak in nfsd_nl_threads_set_doit().

syzbot reported memory leak of struct cred. [0]

nfsd_nl_threads_set_doit() passes get_current_cred() to nfsd_svc(), but put_cred() is not called after that.

The cred is finally passed down to _svc_xprt_create(), which calls get_cred() with the cred for struct svc_xprt.

The ownership of the refcount by get_current_cred() is not transferred to anywhere and is just leaked.

nfsd_svc() is also called from write_threads(), but it does not bump file->f_cred there.

nfsd_nl_threads_set_doit() is called from sendmsg() and current->cred does not go away.

Let's use current_cred() in 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

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 924f4fb003ba114c60b3c07a011dcd86a8956cd1 to before 41170716421c25cd20b39e83f0e0762e212b377bAffected
  • 924f4fb003ba114c60b3c07a011dcd86a8956cd1 to before 27c13c5bb0948e3b5c64e59f8a903231896fab9bAffected
  • 924f4fb003ba114c60b3c07a011dcd86a8956cd1 to before a3f88e3e18b51a7f654189189c762ebcdeaa7e29Affected
  • 924f4fb003ba114c60b3c07a011dcd86a8956cd1 to before 1cb968a2013ffa8112d52ebe605009ea1c6a582cAffected
LinuxLinux
  • 6.10Affected
  • before 6.10Not affected
  • 6.12.77 through 6.12.*Not affected
  • 6.18.17 through 6.18.*Not affected
  • 6.19.7 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.