PT-2026-90412 · Linux · Linux
CVE-2026-89696
·
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: block non-SAVEFH ops after FOREIGN PUTFH to prevent NULL deref
When CONFIG NFSD V4 2 INTER SSC is enabled, nfsd4 putfh() can return
success with fh dentry and fh export both NULL if fh verify() returns
nfserr stale and putfh->no verify is true. The NFSD4 FH FOREIGN flag
is set, but the compound dispatch loop only uses this flag to bypass
the nfserr nofilehandle check -- it does not prevent subsequent ops
from running with a NULL fh dentry.
A remote client can exploit this by crafting a COMPOUND that includes
an inter-SSC COPY (which causes check if stalefh allowed() to set
no verify=true on the saved PUTFH) with an additional op inserted
between the source PUTFH and SAVEFH. For example, SETATTR calls
fh want write() which dereferences fh export->ex path.mnt without
calling fh verify() first, causing a NULL pointer dereference in the
nfsd kthread.
Fix this by gating the dispatch loop: when NFSD4 FH FOREIGN is set
and fh dentry is NULL, only OP SAVEFH (needed for the inter-SSC flow)
and ops with ALLOWED WITHOUT FH (which don't need a resolved
filehandle) may proceed. All other ops receive nfserr stale, per
RFC 7862 Section 15.2.3 which specifies that foreign filehandle
validation is deferred to the consuming operation and NFS4ERR STALE
returned at that point.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux