GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux nfsd: ACL translation errors in NFSv4 CREATE are discarded and the file is created without the requested ACL

UnscoredCVE-2026-89693Kernel, userspace & hypervisorcurated

Impact

nfsd4_create() stored the return value of nfsd4_acl_to_attr() in status, but every branch of the switch on create->cr_type overwrote it unconditionally. An ACL that fails translation is silently dropped and the CREATE succeeds anyway, so the client believes it created a file with a restrictive ACL while the server created it with only the fallback mode bits. On a shared export that is a quiet access-control weakening: a tenant or job that relies on ACLs to keep a dataset or checkpoint directory private can end up with a file more readable than intended, and nothing in the protocol response says so. The fix adds an early exit after nfsd4_acl_to_attr(), matching the pattern already used in nfsd4_setattr(), returning NFS4ERR_BADTYPE instead of proceeding.

Who can reach it

Any authenticated NFSv4 client creating a file with an ACL the server cannot translate. Not directly attacker-controlled in a useful way - the risk is to the client that requested the ACL, whose files end up less protected than requested.

What to do

Patch the kernel on in-kernel NFS server nodes and reboot. Independently of the patch, audit permissions on files created with NFSv4 ACLs on shared exports - the fix stops new occurrences but does not repair files already created without their ACL.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.