CVE Catalog

CVE-2026-31403

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

In NFSD (Linux kernel), a missing reference to the network namespace (struct net) when opening /proc/fs/nfs/exports. After the namespace is torn down (e.g., container removal), reading from the open file descriptor leads to use-after-free in the export cache.

Risk Assessment

A local user can cause a system crash or potential privilege escalation by reading from an open /proc/fs/nfs/exports descriptor after the network namespace is destroyed.

Recommendation

Apply the Linux kernel patch that holds a reference to struct net for the lifetime of the file descriptor.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd The /proc/fs/nfs/exports proc entry is created at module init and persists for the module's lifetime. exports_proc_open() captures the caller's current network namespace and stores its svc_export_cache in seq->private, but takes no reference on the namespace. If the namespace is subsequently torn down (e.g. container destruction after the opener does setns() to a different namespace), nfsd_net_exit() calls nfsd_export_shutdown() which frees the cache. Subsequent reads on the still-open fd dereference the freed cache_detail, walking a freed hash table. Hold a reference on the struct net for the lifetime of the open file descriptor. This prevents nfsd_net_exit() from running -- and thus prevents nfsd_export_shutdown() from freeing the cache -- while any exports fd is open. cache_detail already stores its net pointer (cd->net, set by cache_create_net()), so exports_release() can retrieve it without additional per-file storage.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS