GPU VulnDB

Database/Control plane, storage & DevOps

Linux kernel nfsd: module init error path leaves debugfs files pointing into freed module text

CVSS 7.8CVE-2026-89668Control plane, storage & DevOpscurated

Impact

In init_nfsd(), nfsd_debugfs_init() ran before nfsd4_init_slabs(). If the slab allocation failed, the bare error return skipped nfsd_debugfs_exit(), leaving debugfs entries whose file operations point into module text that is about to be freed - a use-after-free if anyone later touches those files. The fix moves debugfs setup after slab init and makes the unwind paths strictly LIFO. Real exposure on a storage or head node exporting NFS is very low: it requires the nfsd module load itself to fail on memory allocation, and then local access to debugfs, which is root-only and often not mounted. The 7.8 score reflects the generic local-code-execution template kernel CVEs receive, not a demonstrated path here.

Who can reach it

Local only, and only after a failed nfsd module load under memory pressure. Reaching the stale files requires root (or an equivalently privileged user) on the host, since debugfs is mounted 0700 and frequently absent on production servers. Not reachable by an NFS client over the network.

What to do

Pick up the fix in your distribution's next stable kernel; there is no userspace mitigation and no configuration change that removes the ordering bug. Applying it means a kernel package update and a reboot of each NFS server, which on a storage head node means a planned failover. Given how narrow the trigger is, this is routine-cycle work rather than an emergency window.

References

Related entries

All Control plane, storage & DevOps 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.