GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel NFSD: reads on an open /proc/fs/nfs/exports fd walk a freed export cache after netns teardown

CVSS 7.8CVE-2026-31403Kernel, userspace & hypervisorcurated

Impact

exports_proc_open() stored the caller's network-namespace svc_export_cache in seq->private without taking a reference on the namespace. If that namespace is torn down afterwards - the described case is a container being destroyed after the opener has setns()'d elsewhere - nfsd_net_exit() calls nfsd_export_shutdown() and frees the cache, and a later read on the still-open fd dereferences the freed cache_detail and walks a freed hash table. On a cluster whose storage path is kernel NFS exports, that is a use-after-free in the host kernel reachable by holding one procfs fd across a container's lifetime; the consequence is memory corruption on the file server or storage node, which in practice means an unplanned reboot of a node many jobs depend on.

Who can reach it

Local user on a host running knfsd who can open /proc/fs/nfs/exports inside a network namespace, move to another namespace, and read the fd after the first namespace is destroyed. Needs read access to that procfs entry and the ability to enter or create a netns; no remote NFS client path is involved.

What to do

Update the kernel on NFS server nodes to a build carrying the stable fix commits below (holding a struct net reference for the lifetime of the open fd) and reboot each one - NFSD is built in or loaded on the serving path, so this is a node reboot with clients failing over or stalling. Only hosts running the in-kernel NFS server are affected; NFS clients are not.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.