Katalog CVE

CVE-2026-89549

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.63%

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

Streszczenie

W jądrze Linux funkcja svc_pool_for_cpu() może wybrać pulę bez wątków, gdy usługa ma mniej wątków niż pul (np. nfsd w trybie pernode/percpu z mniejszą liczbą wątków niż węzłów NUMA). Transport zakolejkowany w takiej puli nigdy nie zostanie obsłużony, co prowadzi do zawieszenia połączenia.

Ocena ryzyka

Może prowadzić do odmowy usługi (zawieszenie połączeń NFS) w konfiguracjach z ograniczoną liczbą wątków. Wymaga jednak specyficznej konfiguracji serwera NFS.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która pomija pule bez wątków i wybiera następną zapełnioną pulę. Sprawdź konfiguracje nfsd z trybem pernode/percpu.

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: route to a populated pool in svc_pool_for_cpu() svc_set_num_threads() spreads the requested threads evenly across the service's pools (base = nrservs / sv_nrpools). When a service runs fewer threads than it has pools -- e.g. an nfsd configured with fewer threads than the host has NUMA nodes while running in "pernode" or "percpu" mode -- the trailing pools are left with no threads at all. svc_xprt_enqueue() selects a pool from the CPU servicing the transport, queues the transport on that pool's sp_xprts, and only wakes a thread from the same pool. Each thread services exclusively its own pool, so a transport that lands on a threadless pool is enqueued on sp_xprts and never picked up: the connection hangs indefinitely. Have svc_pool_for_cpu() skip pools that currently have no threads, falling back to the next populated pool. This trades NUMA locality for a guarantee that the work is actually serviced. sp_nrthreads is only updated under the service mutex; the lockless read here is a best-effort routing hint, so annotate it with data_race().

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