CVE-2026-89549

CVE-2026-89549

High · published September 12, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
52.9
In the wild
Unconfirmed
What it is

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().

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00707 · 52.9th percentile
Published
2026-09-12T00:19Z
References (8)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:44Z
    sunrpc: route to a populated pool in svc_pool_for_cpu()
    cvelistv5