CVE-2026-90234

NFS: Return a delegation the client fails to record

State
Published
Severity
7.5 High
Published
Sep 17, 2026
Updated
Oct 30, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

NFS: Return a delegation the client fails to record

When an NFS server grants a delegation in an OPEN reply, nfs_inode_set_delegation() records it on the client. However, three of its error flows return without sending DELEGRETURN.

A delegation can be relinquished only by DELEGRETURN (RFC 8881 Section 20.2.4), so dropping one silently leaves the server believing the client still holds it. If the server happens to recall that delegation, the client answers CB_RECALL with NFS4ERR_BADHANDLE because it has no record of the stateid. The server revokes the delegation and moves it onto its cl_revoked list, because the client never sends the FREE_STATEID that would drain it. Every subsequent SEQUENCE reply then carries SEQ4_STATUS_RECALLABLE_STATE_REVOKED, and the client's state manager loops issuing TEST_STATEID across its delegations without ever clearing the condition.

The window is easy to reach now that a server offers a write delegation on any write OPEN: a delegation recalled for one opener races a re-open that the server answers with a fresh write delegation.

Instead of dropping it, hand the delegation back during these error flows.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ade04647dd56881e285983af3db702d56ee97e86 to before 61b23f482b2082e77d2f78bd1624f93a12ec35ceAffected
  • ade04647dd56881e285983af3db702d56ee97e86 to before 9e71e332fa2c7a48f3d00001f856a13cc2d69639Affected
  • ade04647dd56881e285983af3db702d56ee97e86 to before fe3b1c8966a27b70599d28ce7e80819adac1ff22Affected
  • ade04647dd56881e285983af3db702d56ee97e86 to before 6822ba1ae9b6df6a094f7f8998f1da734c85fa19Affected
  • ade04647dd56881e285983af3db702d56ee97e86 to before 92533e49fe3c455088657b862cf3562260c0ce25Affected
  • ade04647dd56881e285983af3db702d56ee97e86 to before 220af23d863995091f0edeb1e6aa0945b3db8b37Affected
LinuxLinux
  • 4.0Affected
  • before 4.0Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.57 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.