CVE-2026-31403CWE-416

CVE-2026-31403

High · published April 3, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
7.6
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00184 · 7.6th percentile
Weakness
CWE-416 · Use After Free
Published
2026-04-03T20:16Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 3.9, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 6.1.1676.1.167
linux/linux_kernel≥ 6.2, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.786.12.78
linux/linux_kernel≥ 6.13, < 6.18.206.18.20
linux/linux_kernel≥ 6.19, < 6.19.106.19.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (10)
EPSS history
Timeline
  • 03 APR 15:16Z
    NFSD: Hold net reference for the lifetime of /proc/fs/nfs/exports fd
    cvelistv5