Critical severity · published Sep 11, 2026
CVE-2026-89702
nfsd: size fh_verify server sockaddr slot by xpt_locallen
9.8
CVSS
0.5%
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
nfsd: size fh_verify server sockaddr slot by xpt_locallen
The nfsd_fh_verify and nfsd_fh_verify_err tracepoints declare the
server sockaddr slot sized by xpt_remotelen but fill it from
xpt_local using xpt_locallen:
TP_STRUCT__entry(
...
__sockaddr(server, rqstp->rq_xprt->xpt_remotelen)
...
)
TP_fast_assign(
...
__assign_sockaddr(server, &rqstp->rq_xprt->xpt_local,
rqstp->rq_xprt->xpt_locallen);
...
)
When xpt_locallen exceeds xpt_remotelen, __assign_sockaddr's memcpy
writes past the reserved ring-buffer slot. In the reverse direction
(xpt_locallen < xpt_remotelen) the slot is oversized and the
unwritten tail leaks prior ring-buffer contents to trace consumers.
The write-past-end case is reachable on NFS/UDP. svc_xprt_set_remote()
is only called from svc_tcp_accept() (net/sunrpc/svcsock.c) and from
the RDMA connect path; svc_create_socket() for UDP calls only
svc_xprt_set_local(), so xpt_remotelen stays 0 for the xprt's
lifetime. Every fh_verify trace for an NFSv2/v3-over-UDP request
then copies 16 or 28 bytes from xpt_local into a zero-byte slot.
The other NFSD tracepoints that record the server address
(NFSD_TRACE_PROC_CALL_FIELDS, NFSD_TRACE_PROC_RES_FIELDS,
SVC_RQST_ENDPOINT_FIELDS) already size the server slot by
xpt_locallen; nfsd_fh_verify and nfsd_fh_verify_err were the only
exceptions.
Fix by sizing the server slot with xpt_locallen so the declared slot
matches the copy length. The client slot and its assignment already
agree on xpt_remotelen and are left untouched.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 39% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
051382885552e12541cc0ebf82092be374a9ed2a before 1c6a4d6c20fd42552ffc2c3dfaed2139c9477ee5; 051382885552e12541cc0ebf82092be374a9ed2a before 95d064f9828a20ccca5ae90a17be3e2076f25272; 051382885552e12541cc0ebf82092be374a9ed2a before 7ff8d6363cffff45654ea85e319f7c0c54226012; 051382885552e12541cc0ebf82092be374a9ed2a before 719a10e3f5f868c3c4ac3cf3648c5775d12034bd; 051382885552e12541cc0ebf82092be374a9ed2a before 71d068490098b1d23c63b2345e40675d3a1ca763; dcbebc86850324fbe0a993ce352f0539cd98038a; +3 more · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-89702
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-89702
git.kernel.org
https://git.kernel.org/stable/c/1c6a4d6c20fd42552ffc2c3dfaed2139c9477ee5
git.kernel.org
https://git.kernel.org/stable/c/719a10e3f5f868c3c4ac3cf3648c5775d12034bd
git.kernel.org
https://git.kernel.org/stable/c/71d068490098b1d23c63b2345e40675d3a1ca763
git.kernel.org
https://git.kernel.org/stable/c/7ff8d6363cffff45654ea85e319f7c0c54226012
git.kernel.org
https://git.kernel.org/stable/c/95d064f9828a20ccca5ae90a17be3e2076f25272
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
7.8
CVE-2025-38352
posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
