CVE Catalog

CVE-2026-89679

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.69%

51th percentile - higher than 51% of all known CVEs

Summary

In the Linux kernel, nfsd4_setattr() has a NULL pointer dereference when a SETATTR request includes delegation time attributes (FATTR4_WORD2_TIME_DELEG_ACCESS or FATTR4_WORD2_TIME_DELEG_MODIFY) and the client supplies the special stateid (all 0xFF bytes). The local variable st remains NULL and is then dereferenced, causing a kernel oops. This is remotely triggerable by any NFSv4 client without authentication.

Risk Assessment

A remote attacker can trigger a kernel oops and potentially cause a denial of service on the NFS server. No authentication or prior state is required, making it easy to exploit.

Recommendation

Update the Linux kernel to a version containing the fix that adds a NULL check before the pointer dereference. Restrict access to NFS services to trusted networks.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix null dereference in nfsd4_setattr for deleg timestamp attrs When a SETATTR request includes FATTR4_WORD2_TIME_DELEG_ACCESS or FATTR4_WORD2_TIME_DELEG_MODIFY in the attribute bitmap, nfsd4_setattr() sets deleg_attrs=true and calls nfs4_preprocess_stateid_op() to validate the stateid. If the client supplies the NFSv4 "one stateid" (all-0xFF bytes), check_special_stateids() returns nfs_ok without populating the output nfs4_stid pointer, because the special-stateid path in nfs4_preprocess_stateid_op() jumps to done: with s==NULL, and the "if (s)" block that would set *cstid is skipped. The local variable `st` remains NULL. Back in nfsd4_setattr(), the if (deleg_attrs) block then unconditionally dereferences st->sc_type (at offset 4 from NULL), causing a kernel oops. This is remotely triggerable by any NFSv4 client: send COMPOUND [PUTROOTFH, SETATTR(ONE_STATEID, {bmval2=FATTR4_WORD2_TIME_DELEG_ACCESS, ...})]. No authentication, delegation, or prior state is required. Fix by adding a NULL check before the dereference. A special stateid is not a delegation stateid, so the existing nfserr_bad_stateid return value is already correct; we only need to guard the pointer dereference itself.

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