CVE-2026-89667

High

In the Linux kernel, the following vulnerability has been resolved: nfsd: close shrinker/GC/fsnotify vs per-net shutdown race in filecache The shrinker, GC worker, and fsnotify/lease callbacks can unhash an nfsd_file from the rhashtable and then call nfsd_file_dispose_list_delayed() to move it to the per-net dispose list. If nfsd_file_cache_shutdown_net() runs concurrently, its rhashtable walk misses the already-unhashed file, and its drain of the per-net dispose list can run before the file has been queued. The file then sits on the per-net list with no thread to drain it, leaking both the file and its associated state. The GC worker and shrinker already hold nfsd_gc_lock while walking the LRU, but in the original code they release it before calling nfsd_file_dispose_list_delayed(). The fsnotify/lease path (nfsd_file_close_inode) has no synchronization at all. Fix this by: 1. Widening nfsd_gc_lock in both nfsd_file_gc() and nfsd_file_lru_scan() to cover the nfsd_file_dispose_list_delayed() call. 2. Wrapping nfsd_file_close_inode() in nfsd_gc_lock so that all three callers of nfsd_file_dispose_list_delayed() hold the lock. 3. Adding a spin_lock/unlock(nfsd_gc_lock) barrier in nfsd_file_cache_shutdown_net() after the purge, so that any in-progress disposal has fully completed before the per-net list is drained. All operations inside the lock are non-sleeping (rhashtable lookups, atomic bit/refcount ops, list moves, svc_wake_up), so the spinlock is appropriate.

Package Linux Kernel
Published 2026-09-11
Last modified 2026-09-21
CVSS version 3.1
Patch available
Yes

CVSS 3.1 score

8.1

out of 10
High
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Vector string
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected versions

Linux kernel versions 6.9 and later are affected. Fixed in 6.12.111, 6.18.51, 7.2.4, 7.3-rc1 and their respective stable series.

Affected from
≥ 6.9
Fixed in
✓ 6.12.111 6.12.x ✓ 6.18.51 6.18.x ✓ 7.2.4 7.2.x ✓ 7.3-rc1

Frequently asked questions

  • What is CVE-2026-89667?

    CVE-2026-89667 is a High severity Linux kernel vulnerability with a CVSS score of 8.1 out of 10 . It affects Linux kernel versions from 6.9 onward and has been patched in 6.12.111, 6.18.51, 7.2.4 and others. CVE-2026-89667 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.

  • What is the CVSS score for CVE-2026-89667?

    CVE-2026-89667 has a CVSS score of 8.1 out of 10, rated High severity (CVSS 3.1). The vector string is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H .

  • Is there a patch available for CVE-2026-89667?

    Yes. CVE-2026-89667 has been patched. Fixed versions include 6.12.111, 6.18.51, 7.2.4 and others. If you are running Linux kernel 6.9 or later up to the fix versions, apply the relevant patch for your kernel branch.

  • Is CVE-2026-89667 actively exploited?

    No. CVE-2026-89667 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.