CVE-2026-89547SUNRPC: Check svc pool percpu counter allocation
Updated under an hour ago ()
Does this affect you?
It affects Linux. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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.
- CVSS
- 8.1 HIGH (v3.1, CNA)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Received
- Record last updated
- Sep 14, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | from ccf08bed6e7a80519569456edd2ea21b7b1701c6 before 57ac7d899409b0a9b768cf417e3bb86bcca3d4c6; from ccf08bed6e7a80519569456edd2ea21b7b1701c6 before 3a2b7649de76376a69f1d3ed2a539fb15907cd4d; from ccf08bed6e7a80519569456edd2ea21b7b1701c6 before bd1ef2cfb44d72b7aa6943e87b206eb0e30fbd0c; from ccf08bed6e7a80519569456edd2ea21b7b1701c6 before b541a15046976e481618726cc23db0fb22d576db; from ccf08bed6e7a80519569456edd2ea21b7b1701c6 before 43e11e164704dde975c9edb370de1a06bec67270 | CNA record |
References
- https://git.kernel.org/stable/c/57ac7d899409b0a9b768cf417e3bb86bcca3d4c6
- https://git.kernel.org/stable/c/3a2b7649de76376a69f1d3ed2a539fb15907cd4d
- https://git.kernel.org/stable/c/bd1ef2cfb44d72b7aa6943e87b206eb0e30fbd0c
- https://git.kernel.org/stable/c/b541a15046976e481618726cc23db0fb22d576db
- https://git.kernel.org/stable/c/43e11e164704dde975c9edb370de1a06bec67270
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.