{"id":25643,"date":"2026-09-18T04:31:40","date_gmt":"2026-09-17T20:31:40","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90234"},"modified":"2026-09-18T04:31:40","modified_gmt":"2026-09-17T20:31:40","slug":"cve-2026-90234","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90234","title":{"rendered":"CVE-2026-90234 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nNFS: Return a delegat"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFS: Return a delegation the client fails to record<\/p>\n<p>When an NFS server grants a delegation in an OPEN reply,<br \/>\nnfs_inode_set_delegation() records it on the client. However, three<br \/>\nof its error flows return without sending DELEGRETURN.<\/p>\n<p>A delegation can be relinquished only by DELEGRETURN (RFC 8881<br \/>\nSection 20.2.4), so dropping one silently leaves the server believing<br \/>\nthe client still holds it. If the server happens to recall that<br \/>\ndelegation, the client answers CB_RECALL with NFS4ERR_BADHANDLE<br \/>\nbecause it has no record of the stateid. The server revokes the<br \/>\ndelegation and moves it onto its cl_revoked list, because the client<br \/>\nnever sends the FREE_STATEID that would drain it. Every subsequent<br \/>\nSEQUENCE reply then carries SEQ4_STATUS_RECALLABLE_STATE_REVOKED,<br \/>\nand the client&#8217;s state manager loops issuing TEST_STATEID across its<br \/>\ndelegations without ever clearing the condition.<\/p>\n<p>The window is easy to reach now that a server offers a write<br \/>\ndelegation on any write OPEN: a delegation recalled for one opener<br \/>\nraces a re-open that the server answers with a fresh write<br \/>\ndelegation.<\/p>\n<p>Instead of dropping it, hand the delegation back during these error<br \/>\nflows.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFS: Return a delegation the client fails to record<\/p>\n<p>When an NFS server grants a delegation in an OPEN reply,<br \/>\nnfs_inode_set_delegat<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25643","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}