Skip to main content
VulnerabilityPublished Updated

CVE-2026-89672: Linux kernel · nfsd: gate nfs2 setacl by argp->mask

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 9.1 Critical · fixed in f951b22dbeec46f2e0fba81cb80d1b0c686b61eb : patch Linux kernel as a priority.

Data as of 30 Oct 2026, 12:49 UTC

CVSS 3.1 base score
9.1Critical
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (Linux)CVSS 3.19.1
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers can reliably automate steps 1–4 of the kill chain
Technical impact
Total control over the software or total information disclosure

CISA SSVC assessment, 2026-10-16.

Patch
Available – fixed in f951b22dbeec46f2e0fba81cb80d1b0c686b61eb, e41d173d9dc735cecb15ab7aa63ecab09338f81b, d00a2f81ba7c57045bd644971ddb6961c5efe3e0 +5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 11 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < f951b22dbeec46f2e0fba81cb80d1b0c686b61eb
Fixed in
  • f951b22dbeec46f2e0fba81cb80d1b0c686b61eb
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < e41d173d9dc735cecb15ab7aa63ecab09338f81b
Fixed in
  • e41d173d9dc735cecb15ab7aa63ecab09338f81b
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < d00a2f81ba7c57045bd644971ddb6961c5efe3e0
Fixed in
  • d00a2f81ba7c57045bd644971ddb6961c5efe3e0
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < a3a7e20ed66d3f04d37883c398da8a113b430769
Fixed in
  • a3a7e20ed66d3f04d37883c398da8a113b430769
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < 760e7a4f92f597c61ab6b089f934a7e3acf238b7
Fixed in
  • 760e7a4f92f597c61ab6b089f934a7e3acf238b7
LinuxLinuxAffected
  • ≥ a257cdd0e2179630d3201c32ba14d7fcb3c3a055, < 54ff9c81d6b77de4540ba33a3b4d613ce3194863
Fixed in
  • 54ff9c81d6b77de4540ba33a3b4d613ce3194863

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.

References

Community reviews

Loading reviews…