Katalog CVE

CVE-2026-98015

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w funkcji mlx5_eswitch_termtbl_put() sprawdzenie zerowego licznika odwołań odczytywało tt->ref_count po zwolnieniu termtbl_mutex. Dwóch równoległych wywołujących na tym samym mlx5_termtbl_handle ścigało się: jeden dekrementował ref_count do zera, usuwał wpis z hash i wywoływał kfree(tt), podczas gdy drugi już zwolnił mutex i miał ocenić if (!tt->ref_count), co prowadziło do use-after-free.

Ocena ryzyka

Użycie zwolnionej pamięci w module E-Switch sterownika mlx5 może prowadzić do awarii jądra lub potencjalnego wykonania kodu, co stanowi poważne zagrożenie dla stabilności i bezpieczeństwa systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę przechowującą wynik dekrementacji w zmiennej lokalnej przed zwolnieniem mutexa, tak aby decyzja o czyszczeniu była podejmowana w całości pod termtbl_mutex.

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: net/mlx5: E-Switch: fix use-after-free in mlx5_eswitch_termtbl_put In mlx5_eswitch_termtbl_put(), the zero-ref cleanup check reads tt->ref_count after termtbl_mutex has been released. Two concurrent callers on the same mlx5_termtbl_handle race: one decrements ref_count to zero, removes the hash entry, and calls kfree(tt) while the other has already dropped the mutex and is about to evaluate if (!tt->ref_count), producing a use-after-free. Fix this by capturing the result of the decrement into a stack-local last variable before dropping the mutex. The cleanup decision is now made entirely under termtbl_mutex, and tt is not touched after kfree.

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