Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Local root required under memory pressure (AV:L/AC:H/PR:H); primary impact is silent kernel memory corruption (I:H) and instability (A:H), with minor info leak via pool_stats (C:L).
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
6DescriptionCVE.org
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.
AnalysisAI
Silent kernel memory corruption in the Linux kernel SUNRPC subsystem arises when percpu counter allocation fails undetected during RPC service creation. When percpu_counter_init() fails inside __svc_create(), the function returns a half-initialized svc_serv structure to nfsd, lockd, or the NFS callback service without error; subsequent hot-path increments in svc_xprt_enqueue(), svc_handle_xprt(), and svc_pool_wake_idle_thread() dereference the NULL per-cpu pointer, which resolves to offset zero of the running CPU's per-cpu area and silently overwrites arbitrary kernel memory. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires all of the following: (1) local administrator (root) privileges to start or restart the NFS server, lockd, or NFS RPC callback service; (2) a multi-processor (SMP) kernel where per-pool percpu_counter allocations are made individually per pool; (3) a memory allocation failure in `percpu_counter_init()` at the exact moment `__svc_create()` is running - achievable through genuine memory pressure or via kernel fault injection (`CONFIG_FAULT_INJECTION`). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The input CVSS vector (AV:N/AC:H/PR:N/UI:N, score 8.1) directly contradicts the CVE description, which explicitly states the flaw is 'reachable only by a local administrator under memory pressure or fault injection; a remote peer cannot induce the bad state on its own.' The correct vector is AV:L/AC:H/PR:H, substantially lowering effective risk. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade to a patched kernel: 6.12.109, 6.18.50, 7.2.4, or any build from 7.3-rc1 onward. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: Inventory all Linux systems running NFS services (nfsd, lockd, NFS callback service) and confirm availability of vendor-released patches for your kernel versions. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-76458
GHSA-qf5h-qr5q-g3pc