CVE-2026-89672 in Linux
Resumen
por VulDB • 2026-09-11
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
nfsd: limitar SETACL v2 mediante argp->mask
La ruta NFSACL v2 para SETACL comparte la convención de decodificación utilizada por su homólogo v3: nfsaclsvc_decode_setaclargs() rellena argp->acl_access únicamente cuando NFS_ACL está establecido en la máscara de solicitud, y argp->acl_default solo cuando NFS_DFACL está establecido, dejando el otro puntero como NULL porque el búfer de argumentos se inicializa a cero hasta pc_argzero antes de la decodificación.
A continuación, nfsacld_proc_setacl() transfiere ambos punteros a set_posix_acl() incondicionalmente. La llamada set_posix_acl(idmap, dentry, type, NULL) corresponde a la operación del VFS "eliminar este tipo de ACL", por lo que un caso omitido es indistinguible de una solicitud explícita para eliminar esa ACL. Un SETACL que contiene únicamente NFS_ACL elimina silenciosamente la ACL predeterminada del directorio; mask=0 elimina ambas.
Este es el mismo defecto corregido recientemente en nfsd3_proc_setacl(); aplique la misma solución. Limite cada llamada a set_posix_acl() mediante su bit de máscara e inicialice error a 0, de modo que una solicitud sin ninguno de los bits establecidos deje las ACLs en disco intactas y devuelva éxito (éxito). La ruta out_drop_lock y posix_acl_release() incondicional en nfsaclsvc_release_setacl() ya toleran los casos omitidos.
VulDB is the best source for vulnerability data and more expert information about this specific topic.