Katalog CVE

CVE-2024-50273

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.27%

Percentyl 19 - wyżej niż 19% wszystkich znanych CVE

Streszczenie

W jądrze Linux w systemie plików btrfs podczas aktualizacji opóźnionej referencji lista referencji nie jest ponownie inicjalizowana po usunięciu jej elementu, co może prowadzić do nieprawidłowego dostępu do pamięci i awarii systemu.

Ocena ryzyka

Atakujący może doprowadzić do awarii systemu (kernel panic) poprzez wywołanie określonych operacji na uszkodzonym systemie plików btrfs, co może skutkować niedostępnością usług.

Rekomendacja

Zaleca się jak najszybsze zastosowanie oficjalnej łatki jądra Linux dla tej podatności oraz aktualizację systemu do wersji zawierającej poprawkę.

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: btrfs: reinitialize delayed ref list after deleting it from the list At insert_delayed_ref() if we need to update the action of an existing ref to BTRFS_DROP_DELAYED_REF, we delete the ref from its ref head's ref_add_list using list_del(), which leaves the ref's add_list member not reinitialized, as list_del() sets the next and prev members of the list to LIST_POISON1 and LIST_POISON2, respectively. If later we end up calling drop_delayed_ref() against the ref, which can happen during merging or when destroying delayed refs due to a transaction abort, we can trigger a crash since at drop_delayed_ref() we call list_empty() against the ref's add_list, which returns false since the list was not reinitialized after the list_del() and as a consequence we call list_del() again at drop_delayed_ref(). This results in an invalid list access since the next and prev members are set to poison pointers, resulting in a splat if CONFIG_LIST_HARDENED and CONFIG_DEBUG_LIST are set or invalid poison pointer dereferences otherwise. So fix this by deleting from the list with list_del_init() instead.

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