CVE-2026-97563 in Linuxinformation

Résumé

par VulDB • 25/09/2026

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

smb: client: rejeter un DataOffset hors limites dans CIFSSMBRead()

L'assistant de lecture synchrone SMB1, CIFSSMBRead(), valide la DataLength du serveur par rapport à CIFSMaxBufSize et au count fourni par l'appelant, mais ne valide jamais le DataOffset. La source de copie est constituée comme suit :

&pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->DataOffset)

et fait l'objet d'un memcpy() pour DataLength octets, sans vérifier que la plage [DataOffset, DataOffset + DataLength) se trouve bien dans la réponse effectivement reçue du serveur.

Un serveur SMB1 malveillant ou compromis peut renvoyer une réponse avec une DataLength valide (dans les limites attendues) mais un grand DataOffset, faisant dépasser le pointeur source la fin du tampon de réponse. Le memcpy() copie alors des données adjacentes dans l'espace heap du noyau vers le tampon de lecture de l'appelant (divulgation d'informations), ou lit une mémoire non mappée et provoque un oops (déni de service). SMB1 n'est pas négocié par défaut ; pour atteindre ce code, il faut monter explicitement avec vers=1.0.

Le DataOffset ainsi que la longueur de la réponse reçue enregistrée dans rsp_iov.iov_len sont relatifs au début de l'en-tête SMB. Il convient donc de rejeter la réponse sauf si DataOffset + DataLength tient bien dans cette longueur, en utilisant une arithmétique protégée contre les débordements (overflow-safe), avant de former le pointeur source. La longueur de la réponse a été validée par le correctif précédent ; les champs DataOffset et DataLength peuvent donc être lus en toute sécurité ici.

Par ailleurs, data_length est rendu non signé (unsigned). Il s'agit d'une longueur dérivée de champs transmis sur le réseau avec un type non signé, et elle n'est comparée qu'à des quantités non signées ; il convient donc de l'imprimer avec %u en conséquence, et d'ajouter __func__ aux appels cifs_dbg() dans cette fonction.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

24/09/2026

Divulgation

25/09/2026

Modérer

accepté

Entrée

VDB-410029

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Interested in the pricing of exploits?

See the underground prices here!