All vulnerabilities
CVE-2026-93212

Linux: nfsd: guard nfsd_serv deref in nfsd_file_net_dispose

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.17%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in59baf45a06435194005fc5fa9a42d89f77a30432Also 766170b4fd2daaf5c4d6735560101474e18edab6, 9f1ddfc8cb9076592401a611eb3a44d36186d014CVE List
Published24 Sep 2026Updated 19 Oct 2026CVE List

What fixes it

  • 59baf45a06435194005fc5fa9a42d89f77a30432LinuxCVE List
  • 766170b4fd2daaf5c4d6735560101474e18edab6LinuxCVE List
  • 9f1ddfc8cb9076592401a611eb3a44d36186d014LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

nfsd: guard nfsd_serv deref in nfsd_file_net_dispose

nfsd_file_net_dispose() is the consumer side of l->freeme: the nfsd service thread loop calls it to drain entries that the filecache garbage collector and shrinker append via nfsd_file_dispose_list_delayed(). During per-net teardown, nn->nfsd_serv is cleared before the filecache laundrette is shut down, so the service thread can still run a dispose pass that finds more than eight entries on l->freeme and dereferences a NULL svc_serv:

nfsd service thread loop nfsd_file_net_dispose(nn) if (!list_empty(&l->freeme)) { ... svc_wake_up(nn->nfsd_serv); /* nn->nfsd_serv == NULL */ }

The sibling helper nfsd_file_dispose_list_delayed() already documents this ordering and caches nn->nfsd_serv into a local before testing it for NULL. nfsd_file_net_dispose() was introduced with the same raw svc_wake_up(nn->nfsd_serv) call and never picked up the guard.

Fix by loading nn->nfsd_serv into a local svc_serv pointer and only calling svc_wake_up() when it is non-NULL, matching the pattern in nfsd_file_dispose_list_delayed().

Text from CVE List

Affected versions 10

  • Linuxaffected: ffb402596147ac583f3464ff5c48feb9423e3838 before f4776c1c4b38fbc459420321c8ece87d0f7f95fbCVE List
  • Linuxaffected: ffb402596147ac583f3464ff5c48feb9423e3838 before 59baf45a06435194005fc5fa9a42d89f77a30432CVE List
  • Linuxaffected: ffb402596147ac583f3464ff5c48feb9423e3838 before 766170b4fd2daaf5c4d6735560101474e18edab6CVE List
  • Linuxaffected: ffb402596147ac583f3464ff5c48feb9423e3838 before 9f1ddfc8cb9076592401a611eb3a44d36186d014CVE List
  • Linuxaffected: 6.9CVE List
  • Linuxunaffected: all versions before 6.9CVE List
  • Linuxunaffected: 6.12.109 through 6.12.*CVE List
  • Linuxunaffected: 6.18.50 through 6.18.*CVE List
  • Linuxunaffected: 7.2.4 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 4