CVE-2026-89690nfsd: defer vfree of compound ops to fix rpc_status UAF
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: nfsd: defer vfree of compound ops to fix rpc_status UAF The rpc_status netlink dumpit walks every in-flight svc_rqst under rcu_read_lock and, for NFSv4 requests, reads opnums out of args->ops[]. But args->ops is a separate vmalloc buffer freed synchronously by vfree() in nfsd4_release_compoundargs() at the end of every compound. The dumpit's rcu_read_lock pins the svc_rqst struct itself (freed via kfree_rcu), but nothing defers the vfree of the ops buffer across the RCU grace period. A concurrent compound completion can therefore free the buffer while the dumpit is reading it — a use-after-free on vmalloc memory. The trailing seqcount recheck (smp_load_acquire of rq_status_counter) cannot undo a load that already retired against freed memory. Fix by replacing vfree(args->ops) with kvfree_rcu_mightsleep(), which defers the free until after an RCU grace period. This makes the existing rcu_read_lock in the dumpit sufficient to protect the read. The tradeoff is that completed compound ops buffers (up to 200 * sizeof(struct nfsd4_op)) persist in memory slightly longer, across one grace period, before being reclaimed.
- CVSS
- 7.8 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/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
- Oct 19, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | from bd9d6a3efa9709e653aafbeb859289feccb8e70c before 48f72aff24f7a7329209dc6cbc27c869f3e3595c; from bd9d6a3efa9709e653aafbeb859289feccb8e70c before 6703199f4d7e7f37d6a726a849eb358e8fae72fb; from bd9d6a3efa9709e653aafbeb859289feccb8e70c before 19413ccc45070a7270b9e25c2a258daf7f91de42; from bd9d6a3efa9709e653aafbeb859289feccb8e70c before fca26a3fc19ed02278aa2a150af82d43db0302cb | CNA record |
References
- https://git.kernel.org/stable/c/48f72aff24f7a7329209dc6cbc27c869f3e3595c
- https://git.kernel.org/stable/c/6703199f4d7e7f37d6a726a849eb358e8fae72fb
- https://git.kernel.org/stable/c/19413ccc45070a7270b9e25c2a258daf7f91de42
- https://git.kernel.org/stable/c/fca26a3fc19ed02278aa2a150af82d43db0302cb
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.