CVE-2026-89547

CVE-2026-89547

High · published September 12, 2026

CVSS v3.1
8.1
EPSS
1%
Percentile
45.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

SUNRPC: Check svc pool percpu counter allocation

__svc_create() initializes three per-pool percpu_counter stats and

ignores every return value. On SMP, percpu_counter_init() fails when

__alloc_percpu_gfp() cannot satisfy the allocation, leaving the failed

counter with fbc->counters == NULL and its embedded raw_spinlock_t,

list_head, and count never initialized. __svc_create() returns the

half-constructed svc_serv to nfsd, lockd, or the NFS callback service

anyway.

Once that service is live, the hot-path increments in

svc_xprt_enqueue(), svc_handle_xprt(), and

svc_pool_wake_idle_thread() reach a counter whose backing pointer is

NULL. The pointer is a per-cpu offset, so the access does not fault:

it resolves to offset zero of the current CPU's per-cpu area and

silently corrupts whatever variable lives there. A

/proc/fs/nfsd/pool_stats read walks the same NULL per-cpu storage and

returns garbage, and on CONFIG_DEBUG_SPINLOCK or lockdep it splats on

the never-initialized lock.

Creating the broken service requires a percpu allocation failure during

RPC server startup, so it is reachable only by a local administrator

under memory pressure or fault injection; a remote peer cannot induce

the bad state on its own.

Check each percpu_counter_init() return value in __svc_create() and

fail when an allocation fails, unwinding the counters already set up

in the current pool and in every pool initialized before it. A

discrete percpu_counter_destroy() per counter at teardown frees each

per-cpu allocation exactly once.

The record
Technical detail
CVSS v3.1
8.1 · HIGH
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00561 · 45.9th percentile
Published
2026-09-12T00:19Z
References (5)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:44Z
    SUNRPC: Check svc pool percpu counter allocation
    cvelistv5