GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux nfsd: unprivileged netlink dump leaks 8 bytes of rq_flags and truncates IPv6 client addresses

UnscoredCVE-2026-89698Kernel, userspace & hypervisorcurated

Impact

struct nfsd_genl_rqstp declared rq_daddr and rq_saddr as 16-byte struct sockaddr, but nfsd_genl_rpc_status_compose_msg() casts them to struct sockaddr_in6 and reads sin6_addr at offset 8..24 - eight bytes past the field, into the adjacent rq_flags member. The netlink attribute then ships a truncated IPv6 address plus eight bytes of kernel struct contents to userspace. NFSD_CMD_RPC_STATUS_GET uses GENL_CMD_CAP_DUMP without GENL_ADMIN_PERM, so any unprivileged process in the network namespace can read it - including a process inside a container that shares the host netns, which is common for NFS-serving nodes. The fix widens both fields to sockaddr_storage and zero-initializes the stack variable so uninitialized tail bytes are not leaked either.

Who can reach it

Any unprivileged local process in the network namespace of a running nfsd, with at least one IPv6 NFS client connected. No authentication or capability required.

What to do

Patch the kernel on nodes that run the in-kernel NFS server and reboot them. Nodes that only mount NFS are unaffected. If a reboot cannot be scheduled, the exposure is limited to what a local unprivileged process can read - restrict who gets shell or container workloads on the NFS server itself in the interim.

References

Related entries

All Kernel, userspace & hypervisor 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.