CVE-2026-89659

CriticalCVSS 9.8/10Last modified Oct 30, 2026

Description

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

NFSD: Prevent client use-after-free during delegation revoke

A delegation stateid holds only a bare pointer to its owning nfs4_client and does not keep it alive. The client survives its stateids only because __destroy_client() drains cl_delegations and cl_revoked before free_client() runs.

nfs4_laundromat() breaks that invariant: it unhashes an expired delegation from cl_delegations, drops deleg_lock, then revoke_delegation() relinks it onto cl_revoked under cl_lock. In that window the delegation is on neither list, so client_has_state() can report no remaining state.

Every teardown path first requires cl_rpc_users to be zero, but the laundromat holds no such reference. A client whose recalled delegation has just timed out can therefore reach free_client() while revoke_delegation() is still about to dereference cl_lock, a use-after-free.

Pin the client with cl_rpc_users across the revoke so teardown blocks until it completes, then reap the delegation from cl_revoked. A client already expiring reaps its own, so skip it and leave the delegation on del_recall_lru.

Metrics

CVSS 3.1 9.8/10CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected software

Source: the vendor's advisory (CNA). NVD analysis pending.

VendorProductVersions
LinuxLinux>= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 2f9a200c0ea5b214609b8cea2b6666458bcb54cd; >= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 94f0c73797c30a35812ffb32d11b8737d245c405; >= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 0dd276b1324a5e08e83c6f675919946c9f0d61c9; >= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 3c0a53ee0b442348d8d2286d6960d3f07bb3a3d3; >= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 2a9d637c2a8fd8ac29ad9b29f28d122ef75c1a56; >= 3bd64a5ba1719c2bb6cba4493dfd3e23a7653e54, < 4683ca76b3b7e5808338491c6eb3c20e6b4894d5
LinuxLinux3.10

References

Timeline

Published
Sep 11, 2026
Last modified
Oct 30, 2026
NVD status
Received

Related CVEs from 2026

CVE-2026-89667.5Information disclosure in the IP Protection component. This vulnerability was fixed in Firefox 151 and Thunderbird 151.CVE-2026-896609.8In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent client use-after-free during admin state revocation A stCVE-2026-89661In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent post-shutdown use-after-free in unlock_filesystem WritinCVE-2026-896629.8In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent lock owner use-after-free during client teardown __destrCVE-2026-896638.8In the Linux kernel, the following vulnerability has been resolved: nfsd: revoke copy-notify stateids before dropping their reference CopyCVE-2026-896647.5In the Linux kernel, the following vulnerability has been resolved: nfsd: release OPEN-decoded posix ACLs via op_release nfsd4_decode_creaCVE-2026-896658.2In the Linux kernel, the following vulnerability has been resolved: nfsd: reject out-of-range useconds in NFSv2 SETATTR/CREATE The NFSv2 sCVE-2026-89666In the Linux kernel, the following vulnerability has been resolved: nfsd: reject out-of-range nseconds in NFSv3 SETATTR and create ops A cCVE-2026-896678.1In the Linux kernel, the following vulnerability has been resolved: nfsd: close shrinker/GC/fsnotify vs per-net shutdown race in filecache CVE-2026-896687.8In the Linux kernel, the following vulnerability has been resolved: nfsd: move nfsd_debugfs_init() after nfsd4_init_slabs() in init_nfsd() CVE-2026-896699.8In the Linux kernel, the following vulnerability has been resolved: nfsd: initialize copy-notify stateid before publishing it nfsd4_copy_nCVE-2026-89677.5Information disclosure in the Graphics: WebGPU component. This vulnerability was fixed in Firefox 151 and Thunderbird 151.