Katalog CVE

CVE-2026-97562

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W kliencie SMB w jądrze Linux funkcja tcon_super_cb() przechowuje surowy wskaźnik do superbloku, ale __cifs_get_super() pobiera aktywną referencję dopiero po zwolnieniu s_umount i referencji pasywnej przez iterate_supers_type(). Równoczesne wygaśnięcie automountu DFS może zwolnić superblok, zanim użyje go cifs_sb_active(), co prowadzi do use-after-free. Poprawka polega na pobraniu aktywnej referencji w callbacku, gdy iterate_supers_type() wciąż trzyma s_umount w trybie współdzielonym.

Ocena ryzyka

Wystąpienie warunku wyścigu może doprowadzić do użycia zwolnionej pamięci w jądrze (use-after-free), co grozi awarią systemu lub potencjalnie wykonaniem dowolnego kodu w kontekście jądra. Ryzyko dotyczy systemów korzystających z automatycznego montowania DFS w CIFS.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę pobierającą aktywną referencję do superbloku w callbacku iteratora. Unikaj równoczesnego wygaśnięcia automountów DFS podczas operacji na superblokach, jeśli aktualizacja nie jest możliwa natychmiast.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: smb: client: pin DFS superblock in iterator callback tcon_super_cb() stores a raw superblock pointer, but __cifs_get_super() takes its active reference only after iterate_supers_type() has dropped s_umount and its passive reference. Concurrent DFS automount expiry can therefore free the superblock before cifs_sb_active() uses it. A deterministic KASAN test reproduces the race as: BUG: KASAN: slab-use-after-free in cifs_sb_active+0x77/0x80 The same test passes with this change applied. Take the active reference in the callback while iterate_supers_type() still holds s_umount shared. cifs_put_tcp_super() remains the matching release.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS