CVE-2026-89672

nfsd: gate nfs2 setacl by argp->mask

State
Published
Severity
9.1 Critical
Published
Sep 11, 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:

nfsd: gate nfs2 setacl by argp->mask

The NFSACL v2 SETACL path shares the decoder convention used by its v3 sibling: nfsaclsvc_decode_setaclargs() fills in argp->acl_access only when NFS_ACL is set in the request mask and argp->acl_default only when NFS_DFACL is set, leaving the other pointer NULL because the argument buffer is zeroed up to pc_argzero before decode.

nfsacld_proc_setacl() then hands both pointers to set_posix_acl() unconditionally. set_posix_acl(idmap, dentry, type, NULL) is the VFS "remove this ACL type" operation, so an omitted arm is indistinguishable from an explicit request to delete that ACL. A SETACL carrying only NFS_ACL silently strips the directory's default ACL; mask=0 strips both.

This is the same defect just fixed in nfsd3_proc_setacl(); apply the same remedy. Gate each set_posix_acl() call on its mask bit and initialize error to 0 so that a request with neither bit set leaves the on-disk ACLs untouched and returns success. The out_drop_lock path and the unconditional posix_acl_release() in nfsaclsvc_release_setacl() already tolerate the skipped arms.

Scores

CVSSScoreVectorSource
3.19.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before d00a2f81ba7c57045bd644971ddb6961c5efe3e0Affected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before 760e7a4f92f597c61ab6b089f934a7e3acf238b7Affected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before 54ff9c81d6b77de4540ba33a3b4d613ce3194863Affected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before 8e4422b05f410f95c51b68a0db4bf1d87f6d22f5Affected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before e41d173d9dc735cecb15ab7aa63ecab09338f81bAffected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before f951b22dbeec46f2e0fba81cb80d1b0c686b61ebAffected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before 37eea38e7898538f0ec5f1eb8b18d8646e4be41cAffected
  • a257cdd0e2179630d3201c32ba14d7fcb3c3a055 to before a3a7e20ed66d3f04d37883c398da8a113b430769Affected
LinuxLinux
  • 2.6.13Affected
  • before 2.6.13Not affected
  • 5.10.273 through 5.10.*Not affected
  • 5.15.224 through 5.15.*Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 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.