CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's NFS server (nfsd), specifically in the handling of compound arguments during release operations, which can lead to out-of-bounds reads and potential information leaks. If the request status counter is in an odd state, it may allow unauthorized access to adjacent memory, exposing sensitive data to userspace via netlink. Organizations using affected Linux kernel versions, particularly those implementing NFSv4.1 or higher, should prioritize patching this vulnerability to mitigate the risk of data leakage.
Original NVD Description
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 ]