CVE-2026-89691

CVE-2026-89691

High · published September 12, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
2.0
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

nfsd: clear opcnt on compound arg release to prevent OOB read

nfsd4_release_compoundargs() resets args->ops to the inline iops[8]

array when the dynamically-allocated ops buffer is freed, but leaves

args->opcnt at its original value (which can be up to 200 for NFSv4.1+

compounds).

If rq_status_counter is stuck at an odd value (which can happen when

nfsd_dispatch() hits an error path after setting it odd), the RPC

status dumpit handler reads min(opcnt, 16) entries from args->ops[].

Since iops only has 8 elements and is the last field in struct

nfsd4_compoundargs, reading indices 8-15 accesses adjacent slab memory

and leaks it to userspace via netlink.

Zero opcnt unconditionally in nfsd4_release_compoundargs() so stale

compound metadata is never exposed through the status interface.

[ cel: Remove the kvfree_rcu_mightsleep() sleep from the exposure window ]

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00125 · 2.0th percentile
Published
2026-09-12T00:19Z
References (4)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:46Z
    nfsd: clear opcnt on compound arg release to prevent OOB read
    cvelistv5