GPU VulnDB

Database/Control plane, storage & DevOps

Linux nfsd: FREE_STATEID on an admin-revoked delegation leaves it on cl_revoked as freed memory

CVSS 9.8CVE-2026-89703Control plane, storage & DevOpscurated

Impact

nfsd4_drop_revoked_stid() handles FREE_STATEID for admin-revoked delegations but does not set SC_STATUS_FREED before dropping cl_lock. revoke_delegation() relies on that flag to know FREE_STATEID already processed the delegation, so without it the freed delegation is list_add()ed to cl_revoked and __destroy_client() later walks that list into freed memory - a use-after-free at client teardown. Reaching it needs an administrative delegation revoke plus a client FREE_STATEID, which is a narrower window than the other nfsd bugs in this batch, but the payoff is kernel memory corruption on the storage server the fleet depends on.

Who can reach it

An NFSv4 client issuing FREE_STATEID for a delegation that has been administratively revoked on the server. Ordinary client authentication plus an admin revoke having occurred.

What to do

Update the NFS server kernel to include one of the linked stable commits and reboot the server. There is no workaround beyond avoiding administrative delegation revokes on an unpatched server.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.