PT-2026-90376 · Linux · Linux
CVE-2026-89660
·
Published
2026-09-11
·
Updated
2026-09-11
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
NFSD: Prevent client use-after-free during admin state revocation
A stateid holds only a bare pointer to its nfs4 client; a stateid
reference does not pin it. The client survives only because
destroy client() drains its stateids before free client() runs.
nfsd4 revoke states() drops nn->client lock across revoke one stid(),
which dereferences the client to revoke a stateid and read
clp->cl minorversion. A teardown racing the dropped lock can free
the client first.
Pinning cl rpc users under client lock blocks the DESTROY CLIENTID and
EXCHANGE ID teardown, which refuses while cl rpc users is non-zero.
force expire client() ignores it: once its wait for cl rpc users to
reach zero has passed, a later pin goes unnoticed.
Under client lock, skip a client whose cl time is already zero --
force expire client() clears it there before waiting -- otherwise pin
cl rpc users before dropping the lock. The walk then either sees the
expiry and skips, or pins in time for that wait to cover the revoke.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux