Katalog CVE

CVE-2026-93073

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w module dax funkcja dax_holder_notify_failure() odczytuje dax_dev->holder_ops dwukrotnie bez READ_ONCE() — raz do sprawdzenia NULL i raz do wywołania notify_failure(). Równoległe fs_put_dax() może wyczyścić holder_ops między tymi odczytami, przez co sprawdzenie widzi wskaźnik nie-NULL, a wywołanie dereferencjonuje NULL.

Ocena ryzyka

Może prowadzić do dereferencji NULL i awarii jądra (odmowa usługi) w warunkach wyścigu.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką. Unikaj równoległego odłączania urządzeń DAX podczas obsługi błędów pamięci.

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: dax: read holder_ops once in dax_holder_notify_failure() dax_holder_notify_failure() reads dax_dev->holder_ops twice without READ_ONCE() -- once for the NULL check and once for the indirect notify_failure() call. A concurrent fs_put_dax() can clear holder_ops between the two reads, so the check can observe a non-NULL pointer while the call dereferences NULL. (kill_dax() also clears holder_ops, but only after synchronize_srcu(), so it cannot race a reader that is inside dax_read_lock(); fs_put_dax() does no such synchronization.) Fetch holder_ops once into a local with READ_ONCE() so the NULL check and the indirect call observe the same value.

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