Katalog CVE

CVE-2025-68263

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.44%

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

Streszczenie

W jądrze Linux rozwiązano podatność w module ksmbd: ipc — use-after-free w funkcji ipc_msg_send_request. Funkcja ipc_msg_send_request() oczekuje na odpowiedź generic netlink, używając wpisu ipc_msg_table_entry na stosie; uchwyt generic netlink wypełnia entry->response pod ipc_msg_table_lock, ale ipc_msg_send_request() walidował i zwalniał entry->response bez trzymania tego samego zamka. Przy dużej współbieżności prowadzi to do wyścigu, w którym handle_response() kopiuje dane do entry->response, gdy ipc_msg_send_request() właśnie je zwolnił, co skutkuje slab-use-after-free zgłaszanym przez KASAN.

Ocena ryzyka

Podatność może prowadzić do uszkodzenia pamięci jądra (use-after-free), co może skutkować awarią systemu lub potencjalnym wykonaniem kodu w kontekście jądra. Wykorzystanie wymaga dużej współbieżności i dotyczy systemów z aktywnym modułem ksmbd.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która obejmuje ipc_msg_table_lock w ipc_msg_send_request() i usuwa wpis z ipc_msg_table pod zamkiem. Jeśli moduł ksmbd nie jest potrzebny, rozważ jego wyłączenie.

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: ksmbd: ipc: fix use-after-free in ipc_msg_send_request ipc_msg_send_request() waits for a generic netlink reply using an ipc_msg_table_entry on the stack. The generic netlink handler (handle_generic_event()/handle_response()) fills entry->response under ipc_msg_table_lock, but ipc_msg_send_request() used to validate and free entry->response without holding the same lock. Under high concurrency this allows a race where handle_response() is copying data into entry->response while ipc_msg_send_request() has just freed it, leading to a slab-use-after-free reported by KASAN in handle_generic_event(): BUG: KASAN: slab-use-after-free in handle_generic_event+0x3c4/0x5f0 [ksmbd] Write of size 12 at addr ffff888198ee6e20 by task pool/109349 ... Freed by task: kvfree ipc_msg_send_request [ksmbd] ksmbd_rpc_open -> ksmbd_session_rpc_open [ksmbd] Fix by: - Taking ipc_msg_table_lock in ipc_msg_send_request() while validating entry->response, freeing it when invalid, and removing the entry from ipc_msg_table. - Returning the final entry->response pointer to the caller only after the hash entry is removed under the lock. - Returning NULL in the error path, preserving the original API semantics. This makes all accesses to entry->response consistent with handle_response(), which already updates and fills the response buffer under ipc_msg_table_lock, and closes the race that allowed the UAF.

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