{"id":"CVE-2026-89690","title":"nfsd: defer vfree of compound ops to fix rpc_status UAF","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: defer vfree of compound ops to fix rpc_status UAF\n\nThe rpc_status netlink dumpit walks every in-flight svc_rqst under\nrcu_read_lock and, for NFSv4 requests, reads…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-825"],"vendor":"Linux","product":"Linux","affected":["Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 48f72aff24f7a7329209dc6cbc27c869f3e3595c","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 6703199f4d7e7f37d6a726a849eb358e8fae72fb","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 19413ccc45070a7270b9e25c2a258daf7f91de42","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < fca26a3fc19ed02278aa2a150af82d43db0302cb","Linux 6.7"],"published":"2026-09-11","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:51:03.524Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89690","references":[{"url":"https://git.kernel.org/stable/c/48f72aff24f7a7329209dc6cbc27c869f3e3595c"},{"url":"https://git.kernel.org/stable/c/6703199f4d7e7f37d6a726a849eb358e8fae72fb"},{"url":"https://git.kernel.org/stable/c/19413ccc45070a7270b9e25c2a258daf7f91de42"},{"url":"https://git.kernel.org/stable/c/fca26a3fc19ed02278aa2a150af82d43db0302cb"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89690.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-89690"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2532103"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89690"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89690"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89690.mbox"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.00163,"epssPercentile":0.05463,"scores":{"cna":7.8,"vendor":7},"ingestedAt":"2026-09-14T15:23:07.473Z","slug":"CVE-2026-89690","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: defer vfree of compound ops to fix rpc_status UAF\n\nThe rpc_status netlink dumpit walks every in-flight svc_rqst under\nrcu_read_lock and, for NFSv4 requests, reads opnums out of\nargs->ops[]. But args->ops is a separate vmalloc buffer freed\nsynchronously by vfree() in nfsd4_release_compoundargs() at the end\nof every compound. The dumpit's rcu_read_lock pins the svc_rqst\nstruct itself (freed via kfree_rcu), but nothing defers the vfree\nof the ops buffer across the RCU grace period. A concurrent compound\ncompletion can therefore free the buffer while the dumpit is reading\nit — a use-after-free on vmalloc memory.\n\nThe trailing seqcount recheck (smp_load_acquire of rq_status_counter)\ncannot undo a load that already retired against freed memory.\n\nFix by replacing vfree(args->ops) with kvfree_rcu_mightsleep(), which\ndefers the free until after an RCU grace period. This makes the\nexisting rcu_read_lock in the dumpit sufficient to protect the read.\nThe tradeoff is that completed compound ops buffers (up to\n200 * sizeof(struct nfsd4_op)) persist in memory slightly longer,\nacross one grace period, before being reclaimed.\n\n## Affected\n\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 48f72aff24f7a7329209dc6cbc27c869f3e3595c`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 6703199f4d7e7f37d6a726a849eb358e8fae72fb`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 19413ccc45070a7270b9e25c2a258daf7f91de42`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < fca26a3fc19ed02278aa2a150af82d43db0302cb`\n- `Linux 6.7`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Important · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4, Red Hat Enterprise Linux 6 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-09-21 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89690.json)","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":224619,"id":"CVE-2026-89690","ts":1792401439271,"field":"cvss","old":"7","new":"7.8"},{"seq":208465,"id":"CVE-2026-89690","ts":1790005708231,"field":"cvss","old":"8.1","new":"7"},{"seq":202976,"id":"CVE-2026-89690","ts":1789403733195,"field":"cvss","old":"7.8","new":"8.1"},{"seq":197733,"id":"CVE-2026-89690","ts":1789384318609,"field":"cvss","old":"8.1","new":"7.8"},{"seq":183671,"id":"CVE-2026-89690","ts":1789356676880,"field":"cvss","old":"7.8","new":"8.1"},{"seq":153570,"id":"CVE-2026-89690","ts":1789285351325,"field":"cvss","old":null,"new":"7.8"},{"seq":153569,"id":"CVE-2026-89690","ts":1789285351325,"field":"severity","old":"none","new":"high"},{"seq":147750,"id":"CVE-2026-89690","ts":1789270212146,"field":"cvss","old":null,"new":"8.1"},{"seq":147749,"id":"CVE-2026-89690","ts":1789270212146,"field":"severity","old":"none","new":"high"},{"seq":109508,"id":"CVE-2026-89690","ts":1789183732214,"field":"cvss","old":null,"new":"8.1"},{"seq":109507,"id":"CVE-2026-89690","ts":1789183732214,"field":"severity","old":"none","new":"high"}]}