CVE-2026-90151
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
W kliencie NFSv4 jądra Linux funkcja nfs4_alloc_client() przydziela identyfikator callback NFSv4.0 przed zakończeniem inicjalizacji klienta. Jeśli późniejszy krok zawiedzie, ścieżka błędu zwalnia nfs_client bezpośrednio przez nfs_free_client(), pomijając usunięcie wpisu z cb_ident_idr, co pozostawia wiszący wskaźnik do zwolnionego obiektu.
Ocena ryzyka
Późniejsze wyszukanie callbacku po cb_ident może odwołać się do zwolnionej pamięci, prowadząc do awarii jądra lub potencjalnego użycia zwolnionej pamięci.
Rekomendacja
Zaktualizuj jądro Linux do wersji z poprawką usuwającą identyfikator callbacku z IDR przed zwolnieniem klienta w ścieżce błędu alokacji.
Inne podatności w Linux kernel (NFSv4)
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: NFSv4: remove callback IDR entry on client allocation failure nfs4_alloc_client() allocates an NFSv4.0 callback identifier before it finishes setting up the client. If any later initialization step fails, the error path frees the nfs_client directly with nfs_free_client(). That bypasses nfs_put_client(), which is where the callback IDR entry is removed during normal teardown. A failed allocation can therefore leave cb_ident_idr pointing at a freed nfs_client. A later NFSv4.0 callback lookup by cb_ident would find the stale pointer and take a reference to it. Make the callback IDR removal helper callable by the allocation failure path, and remove the callback identifier before freeing the client. This was found by a local static-analysis checker for publish-before-free lifetime bugs and confirmed by manual inspection.

