CVE-2026-97557 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
smb: client: éviter une fuite de compteur de références dans cifs_queue_oplock_break()
cifs_queue_oplock_break() prend inconditionnellement une référence sur le fichier cible avant d'enfiler l'opération cifs_oplock_break(). Seul cet élément de travail (work item) décrémente à nouveau le compteur de références.
Si un autre signalement de rupture de verrou d'accès opportuniste (oplock break) arrive pendant que ce traitement est encore en file d'attente, queue_work() renverra false et n'enfilera pas cet deuxième élément de travail. Par conséquent, nous ne pourrons jamais atteindre le point où la référence au fichier doit être libérée à nouveau, entraînant une fuite de cette référence. Cela peut se produire lors de l'interaction avec un serveur répondant lentement.
Par conséquent, les opérations de démonontage ultérieures pour ce système de fichiers échoueront avec :
BUG: Dentry ... still in use (1) [unmount of cifs cifs]
VFS: Busy inodes after unmount of cifs (cifs) kernel BUG at fs/super.c:777!
Corrigez ce problème en n'incrémentant le compteur de références que si l'enfilement du travail a réussi. Le prendre après queue_work() est sûr car les trois appelants maintiennent tcon->open_file_lock tout au long de l'appel et _cifsFileInfo_put() décrémente sous ce même verrou, donc un worker qui démarre le gestionnaire dans cette fenêtre ne peut pas libérer la référence avant qu'elle n'ait été prise.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.