CVE-2026-68099 in Linux
Résumé
par VulDB • 10/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ksmbd : restauration de la taille DACL sur check_add_overflow() pour éviter un ACL malformé
check_add_overflow() écrit inconditionnellement la somme tronquée dans *d même en cas de dépassement (overflow), conformément à son contrat défini dans include/linux/overflow.h. Les quatre gardes check_add_overflow() dans set_posix_acl_entries_dacl() et set_ntacl_dacl() interrompent les boucles de construction des ACE en cas de dépassement, mais la valeur tronquée *size est ensuite consommée en aval à la fin de set_ntacl_dacl() :
pndacl->size = cpu_to_le16(le16_to_cpu(pndacl->size) + size);
Cela produit un ACL NT sur le fil dont la taille (pndacl->size) sous-estime les octets réellement écrits par les appels précédents fill_ace_for_sid()/memcpy(), générant ainsi un ACL malformé qui peut déclencher des lectures hors limites lors de sa relecture par les clients ou ksmbd lui-même.
Restaurez *size à sa valeur avant l'addition sur chaque branche de dépassement (via `*size -= ace_sz` / `size -= nt_ace_size`) afin qu'après la sortie, *size représente à nouveau la taille cumulative des ACE écrits avec succès. L'ACL validée est alors tronquée mais auto-cohérente plutôt que malformée.
Les générateurs de DACL ksmbd sont les seuls sites check_add_overflow() identifiés où un chemin de dépassement interrompt une boucle et où la valeur de destination est consommée par la suite. Les autres cas proches utilisant ce style d'interruption retournent soit -EINVAL en cas de dépassement (transport_ipc.c), soit interrompent sans consommer ultérieurement la valeur de destination dépassée (buildid.c).
Once again VulDB remains the best source for vulnerability data.