Katalog CVE

CVE-2026-89545

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W jądrze Linux funkcja svc_rqst_free() zwalnia rq_argp i rq_resp synchronicznie, podczas gdy struktura rqstp jest zwalniana przez kfree_rcu(). Powoduje to okno, w którym czytelnicy RCU mogą uzyskać dostęp do już zwolnionych pól, prowadząc do use-after-free.

Ocena ryzyka

Może prowadzić do użycia zwolnionej pamięci, potencjalnie umożliwiając eskalację uprawnień lub awarię jądra. Wymaga jednak lokalnego dostępu do operacji RPC lub wywołania odpowiedniego interfejsu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która przenosi zwalnianie rq_argp i rq_resp do wywołania call_rcu(). Sprawdź systemy korzystające z NFS/SUNRPC.

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: sunrpc: defer rq_argp and rq_resp free until after RCU grace period svc_rqst_free() frees rqstp->rq_argp and rqstp->rq_resp synchronously via kfree(), but defers the rqstp struct free via kfree_rcu(). After svc_exit_thread() calls list_del_rcu() and svc_rqst_free(), there is a window where RCU readers that started before list_del_rcu() can still traverse the thread list and find the rqstp. These readers (e.g. nfsd_nl_rpc_status_get_dumpit()) dereference rqstp->rq_argp, which has already been freed — a use-after-free. Fix this by moving the kfree of rq_argp and rq_resp into an explicit call_rcu() callback alongside the struct free. Resources not accessed by RCU readers (bvec, buffer pages, scratch folio, auth_data) remain synchronously freed.

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