Katalog CVE

CVE-2024-53186

KrytyczneCVSS 9.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W jądrze Linux w module ksmbd występuje podatność polegająca na wyścigu między obsługą żądań SMB w funkcji ksmbd_conn_handler_loop() a zwalnianiem struktury ksmbd_conn w handlerze workqueue handle_ksmbd_work(). Prowadzi to do użycia po zwolnieniu (UAF). Poprawka rozwiązuje ten problem.

Ocena ryzyka

Ryzyko polega na możliwości wystąpienia użycia po zwolnieniu, co może prowadzić do awarii systemu lub potencjalnego zdalnego wykonania kodu w usłudze SMB.

Rekomendacja

Zaleca się zastosowanie poprawki jądra Linux, która eliminuje wyścig, oraz aktualizację systemów do wersji jądra zawierającej tę poprawkę.

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

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free in SMB request handling A race condition exists between SMB request handling in `ksmbd_conn_handler_loop()` and the freeing of `ksmbd_conn` in the workqueue handler `handle_ksmbd_work()`. This leads to a UAF. - KASAN: slab-use-after-free Read in handle_ksmbd_work - KASAN: slab-use-after-free in rtlock_slowlock_locked This race condition arises as follows: - `ksmbd_conn_handler_loop()` waits for `conn->r_count` to reach zero: `wait_event(conn->r_count_q, atomic_read(&conn->r_count) == 0);` - Meanwhile, `handle_ksmbd_work()` decrements `conn->r_count` using `atomic_dec_return(&conn->r_count)`, and if it reaches zero, calls `ksmbd_conn_free()`, which frees `conn`. - However, after `handle_ksmbd_work()` decrements `conn->r_count`, it may still access `conn->r_count_q` in the following line: `waitqueue_active(&conn->r_count_q)` or `wake_up(&conn->r_count_q)` This results in a UAF, as `conn` has already been freed. The discovery of this UAF can be referenced in the following PR for syzkaller's support for SMB requests.

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