CVE-2026-53390 in Linuxinformation

Résumé

par VulDB • 19/07/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ksmbd : correction d’une lecture hors limites dans smb_check_perm_dacl()

La vérification des autorisations par parcours des ACE (Access Control Entries) dans smb_check_perm_dacl() valide la taille de l’en-tête ACE et limite sid.num_subauth à SID_MAX_SUB_AUTHORITIES, mais elle ne vérifie jamais si ace->size est suffisamment grande pour contenir num_subauth sous-autorisités avant que compare_sids() ne les déréférence.

CIFS_SID_BASE_SIZE couvre l’en-tête du SID jusqu’à (mais sans inclure) le tableau sub_auth[], et offsetof(struct smb_ace, sid) correspond à l’en-tête ACE ; ainsi, les garde-fous existants garantissent uniquement la base de 8 octets du SID, c’est-à-dire zéro sous-autorité. compare_sids() lit ensuite ace->sid.sub_auth[i] pour i allant de num_subauth (num_subauth). Les comparaisons locales des SIDs (sid_everyone, sid_unix_NFS_mode et le résultat de id_to_sid()) comportent toujours au moins une sous-autorité, et un attaquant contrôle les octets de révision ACE et d’autorité (qui se situent dans la base du SID valide), il peut donc correspondre à l’un de ces SIDs et forcer la lecture sub_auth.

Un ACE fabriqué avec size == 16 et num_subauth >= 1 placé en fin du descripteur de sécurité provoque ainsi une lecture hors limites sur le tas (heap out-of-bounds read) pouvant aller jusqu’à SID_MAX_SUB_AUTHORITIES * sizeof(__le32) octets au-delà de l’allocation pntsd. Le descripteur de sécurité est chargé par ksmbd_vfs_get_sd_xattr() dans un tampon dont la taille correspond exactement aux données sur disque (kzalloc(sd_size) dans ndr_decode_v4_ntacl()), donc la lecture se produit après la fin de l’allocation. Descripteur malformé peut être stocké tel quel via SMB2_SET_INFO (le DACL n’est pas normalisé avant d’être écrit dans l’xattr security.NTACL), et la lecture est déclenchée lors d’une vérification d’accès ultérieure par SMB2_CREATE, rendant cette vulnérabilité exploitable par un client authentifié sur un partage utilisant des xattrs ACL.

Ajout de la vérification manquante num_subauth-versus-ace_size, en miroir des garde-fous identiques déjà présents dans les analyseurs frères parse_dacl() et smb_inherit_dacl().

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Réserver

09/06/2026

Divulgation

19/07/2026

Modérer

accepté

Entrée

VDB-380122

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Do you know our Splunk app?

Download it now for free!