CVE-2026-64141 in Linuxinformation

Résumé

par VulDB • 20/07/2026

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

ksmbd : correction d'une déréférencement de pointeur null dans compare_guid_key()

session_fd_check() parcourt la liste m_op_list par inode lors du nettoyage (teardown) des sessions à poignée durable et définit op->conn = NULL pour chaque entrée opinfo dont le conn correspondait à la connexion de la session en cours de fermeture. Cependant, l'entrée opinfo concernée reste liée dans son entrée lb->lease_list au sein de lease_table_list par ClientGuid, car destroy_lease_table() ne s'exécute qu'en cas de nettoyage complet de la connexion TCP et non lors d'un SESSION_LOGOFF.

Si la même connexion TCP négocie ensuite une nouvelle session avec le même ClientGuid (le ClientGuid est lié à NEGOTIATE et non à la session, et reste inchangé entre LOGOFF + SETUP) et émet un SMB2 CREATE avec un contexte de bail sur un inode différent, find_same_lease_key() parcourt lb->lease_list, atteint l'entrée opinfo périmée (stale), et appelle compare_guid_key(), qui déréférence inconditionnellement opinfo->conn->ClientGUID. Le pointeur conn est NULL et le noyau plante (panic).

Le programme d'essai reproduit uniquement une réussite de SMB2 SESSION_SETUP et un partage configuré avec 'durable handles = yes'. Rapport KASAN sur la version principale 70390501d194 :

general protection fault, probablement pour une adresse non canonique 0xdffffc0000000069: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref dans la plage [0x0000000000000348-0x000000000000034f]
Workqueue : ksmbd-io handle_ksmbd_work RIP: 0010:bcmp+0x5b/0x230 Trace d'appel (Call Trace) : compare_guid_key+0x4b/0xd0 find_same_lease_key+0x324/0x690 smb2_open+0x6aea/0x8e60 handle_ksmbd_work+0x796/0xee0 ...

L'adresse fautive 0x348 correspond au décalage de ClientGUID dans la structure ksmbd_conn, confirmant que opinfo->conn était NULL.

Lire opinfo->conn une seule fois et quitter si celui-ci a été effacé par un session_fd_check() concurrent. Une entrée opinfo partiellement détachée ne peut pas être propriétaire d'un bail actif ; retourner 0 est donc le résultat de correspondance correct.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Réserver

19/07/2026

Divulgation

19/07/2026

Modérer

accepté

Entrée

VDB-380334

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!