CVE Catalog

CVE-2026-89703

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, nfsd4_drop_revoked_stid(), which handles FREE_STATEID for admin-revoked delegations, did not set SC_STATUS_FREED before releasing cl_lock. Without this flag the freed delegation was added to cl_revoked, causing a use-after-free when that list is later traversed in __destroy_client().

Risk Assessment

A potential use-after-free in the nfsd module, which may lead to a kernel crash or potential code execution. It affects NFSv4 revoked delegation handling.

Recommendation

Update the Linux kernel to a version with the fix that sets SC_STATUS_FREED in the SC_STATUS_ADMIN_REVOKED path in nfsd4_drop_revoked_stid(), mirroring the existing SC_STATUS_REVOKED path.

Other vulnerabilities in Linux kernel (nfsd)

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: nfsd: set SC_STATUS_FREED in nfsd4_drop_revoked_stid for delegations nfsd4_drop_revoked_stid() handles FREE_STATEID for admin-revoked delegations but does not set SC_STATUS_FREED before releasing cl_lock. revoke_delegation() uses this flag to detect whether FREE_STATEID has already processed the delegation -- without it, the freed delegation is added to cl_revoked via list_add(), producing a use-after-free when cl_revoked is later traversed in __destroy_client(). The SC_STATUS_REVOKED path in nfsd4_free_stateid() (line 7983) already sets SC_STATUS_FREED correctly. Apply the same pattern to the SC_STATUS_ADMIN_REVOKED path in nfsd4_drop_revoked_stid().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS