{"id":"CVE-2026-89691","title":"nfsd: clear opcnt on compound arg release to prevent OOB read","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: clear opcnt on compound arg release to prevent OOB read\n\nnfsd4_release_compoundargs() resets args->ops to the inline iops[8]\narray when the dynamically-allocated …","severity":"high","cvss":7.1,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H","cvssSource":"cna","cwe":["CWE-125"],"vendor":"Linux","product":"Linux","affected":["Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 58bcdfb2b2e412088839ae740b1a95154dc0b8d0","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < e879148867bd4c4cac42e063ffaffa187dddc6fe","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < c1a4f7b1848f95302df598217e1c7a1410c2d0c5","Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < ae4c38555e81563b8dc5eae55ffd70f0ea97aa5a","Linux 6.7"],"published":"2026-09-11","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:51:04.497Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89691","references":[{"url":"https://git.kernel.org/stable/c/58bcdfb2b2e412088839ae740b1a95154dc0b8d0"},{"url":"https://git.kernel.org/stable/c/e879148867bd4c4cac42e063ffaffa187dddc6fe"},{"url":"https://git.kernel.org/stable/c/c1a4f7b1848f95302df598217e1c7a1410c2d0c5"},{"url":"https://git.kernel.org/stable/c/ae4c38555e81563b8dc5eae55ffd70f0ea97aa5a"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89691.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-89691"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2532399"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89691"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89691"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89691.mbox"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.00125,"epssPercentile":0.02199,"scores":{"cna":7.1,"vendor":7},"ingestedAt":"2026-09-14T15:23:07.473Z","slug":"CVE-2026-89691","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: clear opcnt on compound arg release to prevent OOB read\n\nnfsd4_release_compoundargs() resets args->ops to the inline iops[8]\narray when the dynamically-allocated ops buffer is freed, but leaves\nargs->opcnt at its original value (which can be up to 200 for NFSv4.1+\ncompounds).\n\nIf rq_status_counter is stuck at an odd value (which can happen when\nnfsd_dispatch() hits an error path after setting it odd), the RPC\nstatus dumpit handler reads min(opcnt, 16) entries from args->ops[].\nSince iops only has 8 elements and is the last field in struct\nnfsd4_compoundargs, reading indices 8-15 accesses adjacent slab memory\nand leaks it to userspace via netlink.\n\nZero opcnt unconditionally in nfsd4_release_compoundargs() so stale\ncompound metadata is never exposed through the status interface.\n\n[ cel: Remove the kvfree_rcu_mightsleep() sleep from the exposure window ]\n\n## Affected\n\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < 58bcdfb2b2e412088839ae740b1a95154dc0b8d0`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < e879148867bd4c4cac42e063ffaffa187dddc6fe`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < c1a4f7b1848f95302df598217e1c7a1410c2d0c5`\n- `Linux >= bd9d6a3efa9709e653aafbeb859289feccb8e70c < ae4c38555e81563b8dc5eae55ffd70f0ea97aa5a`\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** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 6, 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-89691.json)","depth":"twilight","depthScore":39,"depthScoreParts":{"impact":39.1,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":224614,"id":"CVE-2026-89691","ts":1792401437972,"field":"cvss","old":"7","new":"7.1"},{"seq":208461,"id":"CVE-2026-89691","ts":1790005707669,"field":"cvss","old":"7.4","new":"7"},{"seq":202975,"id":"CVE-2026-89691","ts":1789403733187,"field":"cvss","old":"7.1","new":"7.4"},{"seq":197734,"id":"CVE-2026-89691","ts":1789384318617,"field":"cvss","old":"7.4","new":"7.1"},{"seq":183668,"id":"CVE-2026-89691","ts":1789356676863,"field":"cvss","old":"7.1","new":"7.4"},{"seq":153572,"id":"CVE-2026-89691","ts":1789285351332,"field":"cvss","old":null,"new":"7.1"},{"seq":153571,"id":"CVE-2026-89691","ts":1789285351332,"field":"severity","old":"none","new":"high"},{"seq":147285,"id":"CVE-2026-89691","ts":1789270207005,"field":"cvss","old":null,"new":"7.4"},{"seq":147284,"id":"CVE-2026-89691","ts":1789270207005,"field":"severity","old":"none","new":"high"},{"seq":109040,"id":"CVE-2026-89691","ts":1789183730070,"field":"cvss","old":null,"new":"7.4"},{"seq":109039,"id":"CVE-2026-89691","ts":1789183730070,"field":"severity","old":"none","new":"high"}]}