GPU VulnDB

Database/Control plane, storage & DevOps

Linux kernel nfsd: dispatch error paths leave the status seqlock counter odd, exposing mutating compound state

CVSS 7.1CVE-2026-89705Control plane, storage & DevOpscurated

Impact

nfsd_dispatch() sets rq_status_counter odd after decode and even after processing, forming a seqlock with the lockless reader in nfsd_nl_rpc_status_get_dumpit(). Only the fully successful path restored it to even; the cache-hit, drop and encode-error paths returned with the counter left odd. While stuck odd, the netlink reader believes the rqstp fields are stable and its retry check never fires, so it reads args->ops and args->opcnt while they are being mutated and can run past the 8-element inline ops array. The result is a heap over-read reported to userspace on the NFS server. This is the dispatch-side half of the same status-interface exposure; both patches are needed. Local only - remote clients can force the counter odd by triggering a drop or cache hit, but only a local process can read the leaked memory.

Who can reach it

A local user or process on the NFS server that can issue the nfsd RPC-status netlink dump; remote clients can help keep the counter odd but cannot read the result.

What to do

Update the server kernel to a build with the counter-advance helper (stable commits b08c30f08d57 and f6045886fe3f) and reboot the node. Apply it together with the opcnt-clearing fix for the same interface. Until patched, keep untrusted local workloads off the NFS server.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.