CVE-2026-23297 nfsd: Fix cred ref leak in nfsd_nl_threads_set_doit().

Medium 5.5 Published Updated

A memory leak in the Linux kernel NFS server allows local attackers to exhaust kernel memory, leading to denial of service.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-23297?

CVE-2026-23297 is a medium-severity memory corruption vulnerability in Linux kernel, published on 25 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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

Weakness: CWE-401

Which versions are affected by CVE-2026-23297?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-23297?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2026-23297 being exploited?

There is no known exploitation of CVE-2026-23297 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2026-23297, DEBIAN-CVE-2026-23297, GHSA-pxcg-3rj5-5gx5, ROOT-OS-DEBIAN-13-CVE-2026-23297, UBUNTU-CVE-2026-23297.

Is CVE-2026-23297 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free