From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3C865921E2 for ; Fri, 11 Sep 2026 20:04:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789157091; cv=none; b=ZAggWcGzjqgIMFgkCvDX4XFBOdbYEpzx1WUm5TMVDpm4jIDCwxKpwL/Jg57rWooXmrboALX5BCmSH7B14Y7QD4lqlUKzD1G0R8r+1P8Q64hiwR1IG6z6iUgh5581gBxD4ksCJgymOF+jl6sm+YXtl3XmgViYzF1kl0ZbSiIXs38= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789157091; c=relaxed/simple; bh=8puyh028WN0Nl1AHKgunFQv/hy3gFU9NR670g1LyK7o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=rsGFJn6izQxHMZ/VmJeei9XUdZId3lWhKZGOJPer1hvqPqxKz2rqJKaP11I6RPQxMjQldIIEbz6be5sOAtMj4Jtbl3gq4qjOO/Dp76pq5TAWVw+m2kJpqypAKHqdfbaINxh2kx9esfWy6B0EUEJBNOAHNoll0dWjIRvaMCc68HM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=090QISMu; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="090QISMu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FBD51F00893; Fri, 11 Sep 2026 20:04:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1789157078; bh=F8BuY9ZcrLkd/a1A+LS/WoYiyZAj+E52FG4Qt4V5A5o=; h=From:To:Cc:Subject:Date:Reply-To; b=090QISMuHDezKZtnJB/Uuzf7MdH36Yzp/Jzzc2gz9O60GP4q6U3Yv1W2pq4Uqefgk KZ8UT4b07Qh9Vpbwe9yeQIVtxIplf9HHqxWVnSUjqnR8j4Bqi6CEi4tJ5f/qxg19Cl Jnpw2EOw8GHZqj40G0gf8m7+4EBXk8bhTA5Jog5M= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-89702: nfsd: size fh_verify server sockaddr slot by xpt_locallen Date: Fri, 11 Sep 2026 21:46:31 +0200 Message-ID: <2026091156-CVE-2026-89702-ff5b@gregkh> X-Mailer: git-send-email 2.55.0 Reply-To: , Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3980; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=oBBfTS8FZrKfQFPy7u3uK0uzCCRBSNycc98UAbGDpPc=; b=owGbwMvMwCRo6H6F97bub03G02pJDFlLIlu4XCyrzkmf1zXsW3mP/biy3Jr8fLvmzSkauV8Df 0/fvVC2I5aFQZCJQVZMkeXLNp6j+ysOKXoZ2p6GmcPKBDKEgYtTACai4siwYJKL5u5d4SJbIi9x Vij8+W7D/bdPl2GeYpT/6Q+KCz/o1yxfqr05dEHlN+sPAA== X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit From: Greg Kroah-Hartman 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. The Linux kernel CVE team has assigned CVE-2026-89702 to this issue. Affected and fixed versions =========================== Issue introduced in 6.0 with commit 051382885552e12541cc0ebf82092be374a9ed2a and fixed in 6.12.109 with commit 95d064f9828a20ccca5ae90a17be3e2076f25272 Issue introduced in 6.0 with commit 051382885552e12541cc0ebf82092be374a9ed2a and fixed in 6.18.50 with commit 7ff8d6363cffff45654ea85e319f7c0c54226012 Issue introduced in 6.0 with commit 051382885552e12541cc0ebf82092be374a9ed2a and fixed in 7.2.4 with commit 719a10e3f5f868c3c4ac3cf3648c5775d12034bd Issue introduced in 6.0 with commit 051382885552e12541cc0ebf82092be374a9ed2a and fixed in 7.3-rc1 with commit 71d068490098b1d23c63b2345e40675d3a1ca763 Issue introduced in 5.15.154 with commit dcbebc86850324fbe0a993ce352f0539cd98038a Issue introduced in 5.15.154 with commit 62980365d6e894234b29f44fb2bfad4f7f8bb824 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-89702 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: fs/nfsd/trace.h Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/95d064f9828a20ccca5ae90a17be3e2076f25272 https://git.kernel.org/stable/c/7ff8d6363cffff45654ea85e319f7c0c54226012 https://git.kernel.org/stable/c/719a10e3f5f868c3c4ac3cf3648c5775d12034bd https://git.kernel.org/stable/c/71d068490098b1d23c63b2345e40675d3a1ca763