CVE-2026-97559 in Linuxinformation

Résumé

par VulDB • 25/09/2026

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

smb: client: échouer la réécriture de la DACL lorsque la nouvelle DACL dépasse 64 Ko

Les fonctions `replace_sids_and_copy_aces()` et `set_chmod_dacl()` accumulent la taille de la DACL qu'elles construisent dans un entier non signé sur 16 bits (`u16`). Cet accumulateur peut déborder (wraparound).

La fonction `validate_dacl()` limite le nombre d'ACE à `(dacl_size - sizeof(struct smb_acl)) / 20`, soit 3276 pour une DACL de taille maximale, tandis que chaque ACE réécrit peut atteindre la taille de `struct smb_ace` (76 octets) une fois son SID remplacé par un SID comportant le nombre maximal d'autorités subordonnées (`SID_MAX_SUB_AUTHORITIES`). Le pire des cas est donc sizeof(struct smb_acl) + 3276 * 76 = 248984 octets, bien au-delà de ce qu'un `u16` peut contenir. Un débordement se produit avec 863 ACE.

Après le dépassement, la taille dans `ndacl_ptr->size` devient sans signification et l'offset pointera n'importe où dans le tableau d'ACE. Par conséquent, nous observerons une corruption de la DACL, qui sera ensuite envoyée au serveur. Il ne s'agit pas d'une écriture hors limites (out-of-bounds write) car l'allocation couvre désormais l'expansion du pire des cas ; les écritures iront donc toujours dans le tampon.

Le code a été ajusté pour utiliser un entier non signé sur 32 bits (`u32`) en interne et renvoyer `-EOVERFLOW` en cas de dépassement. L'opération doit être refusée, car une DACL ne peut contenir que $2^{16}-1$ octets sur le fil réseau (on the wire) ; les DACL plus volumineuses ne peuvent pas être représentées.

La fonction `set_chmod_dacl()` présente le même schéma et est corrigée de la même manière. Elle déborde uniquement lorsque la source DACL se situe à environ 380 octets du plafond des 64 Ko, mais le mode d'échec est identique.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Réserver

24/09/2026

Divulgation

25/09/2026

Modérer

accepté

Entrée

VDB-410002

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!