CVE-2026-89691: nfsd: clear opcnt on compound arg release to prevent OOB read

Published Sep 11, 2026
·
Updated

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

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

nfsd4releasecompoundargs() 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 rqstatuscounter is stuck at an odd value (which can happen when nfsddispatch() 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 nfsd4compoundargs, reading indices 8-15 accesses adjacent slab memory and leaks it to userspace via netlink.

Zero opcnt unconditionally in nfsd4releasecompoundargs() so stale compound metadata is never exposed through the status interface.

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

Affected Software

1 affected component
Linux Kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:46 PM
Data Sourced
via MITRE·07:46 PM
Description

Frequently Asked Questions

1

What conditions are required for memory disclosure to occur?

The affected request must involve an NFSv4.1 or later compound with dynamically allocated operations, and rq_status_counter must remain at an odd value after an nfsd_dispatch() error path. The RPC status dumpit handler must then read the released compound arguments.

2

What information can be exposed?

The status handler can read entries beyond the eight-element inline operations array, accessing adjacent slab memory. That memory is leaked to userspace through netlink.

3

Does this affect all NFS compound requests?

No. The out-of-bounds read depends on stale operation-count metadata after the dynamically allocated operations buffer is released, along with the status-counter error condition. The description states that the operation count can be as high as 200 for NFSv4.1 and later compounds.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203