{"id":21594,"date":"2026-09-12T04:31:23","date_gmt":"2026-09-11T20:31:23","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89672"},"modified":"2026-09-12T04:31:23","modified_gmt":"2026-09-11T20:31:23","slug":"cve-2026-89672","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89672","title":{"rendered":"CVE-2026-89672 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: gate nfs2 setac"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nfsd: gate nfs2 setacl by argp-&gt;mask<\/p>\n<p>The NFSACL v2 SETACL path shares the decoder convention used by its<br \/>\nv3 sibling: nfsaclsvc_decode_setaclargs() fills in argp-&gt;acl_access<br \/>\nonly when NFS_ACL is set in the request mask and argp-&gt;acl_default<br \/>\nonly when NFS_DFACL is set, leaving the other pointer NULL because<br \/>\nthe argument buffer is zeroed up to pc_argzero before decode.<\/p>\n<p>nfsacld_proc_setacl() then hands both pointers to set_posix_acl()<br \/>\nunconditionally. set_posix_acl(idmap, dentry, type, NULL) is the VFS<br \/>\n&#8220;remove this ACL type&#8221; operation, so an omitted arm is<br \/>\nindistinguishable from an explicit request to delete that ACL. A<br \/>\nSETACL carrying only NFS_ACL silently strips the directory&#8217;s default<br \/>\nACL; mask=0 strips both.<\/p>\n<p>This is the same defect just fixed in nfsd3_proc_setacl(); apply the<br \/>\nsame remedy. Gate each set_posix_acl() call on its mask bit and<br \/>\ninitialize error to 0 so that a request with neither bit set leaves<br \/>\nthe on-disk ACLs untouched and returns success. The out_drop_lock<br \/>\npath and the unconditional posix_acl_release() in<br \/>\nnfsaclsvc_release_setacl() already tolerate the skipped arms.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nfsd: gate nfs2 setacl by argp-&gt;mask<\/p>\n<p>The NFSACL v2 SETACL path shares the decoder convention used by its<br \/>\nv3 sibling: nfsaclsvc_dec<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21594","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21594","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=21594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}