From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1792758589; b=Asvxs39PDFIgIZKsI6x3ZgPSjVl5RDbX0EhFpnqOmuc8f7D3Srt64D8rvmue4tn9C1l/ 2MI0Wgy2n9lt2vjjTJ7cfiR1EkcWa7J2ixkghA6DSarVh7sTcz3fmgDFp02GXZM1MIbA9 EKwz/5WImd8qCRTkLjZWOemiW0LsRrWXWygcGxDe3YPNyCvCbZYoRC/D6UXohgsn9E7mx Lrt3e7L+0hOffZ77ZMqwdAvXW/XtIPbenOKOsj5odKmwqA9nbuv+Nlp4MxDk1dJb6DwCP 7+8eb0hgmv94rqUQNUkqhluyD6MQmgh0H1PzdRfZJfFaufqEGWGd6e7/XEUGFXz/42w== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792758589; h=Received:DKIM-Signature:From:To:Cc:Subject:Date:Message-ID:X-Mailer: Reply-To:MIME-Version:Lines:X-Developer-Signature:X-Developer-Key: Content-Transfer-Encoding; bh=31sFHy7ktMQClb3yyvLejrcj7ZOCs0FLByb5EIhuCdY=; b=12vueKmFkXBqcaTn8zJYk/j97OulrV+/KZb8j6+OtIlBG6/LyiuFN98Qogl+bWvJpavs Mpxs7niO7q3r1TnhcHBYki2UfwTu7ttIfrfB+KwagtvLRh481O/37Zgi2GektTQ9KrbJ/ KEH3kDjxeh/rmxtGL6aTOZZuIZoYKpIY3S9yz2+Z030YltqMO1NQWM5xndvRDQz6stb98 v2f0afNJLafOXhuE/GLcjN1Kp6HE3Kkp8wZRX9srHFzUA42HOCFLNmJrzAG4f2lSVxWRA IZ+cazZ3FaIJFUIfMeSOc5RPksH3uLvc63vXnkwNT3qSGLubA94/FkPaMBEpeRfdnHA== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=linuxfoundation.org header.i=@linuxfoundation.org header.a=rsa-sha256 header.s=korg header.b="0/EjsOzz"; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7FDC7606A323 for ; Fri, 23 Oct 2026 12:29:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.a=rsa-sha256 header.s=korg header.b=0/EjsOzz Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14CDD1F01828; Fri, 23 Oct 2026 12:29:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1792758589; bh=31sFHy7ktMQClb3yyvLejrcj7ZOCs0FLByb5EIhuCdY=; h=From:To:Cc:Subject:Date:Reply-To; b=0/EjsOzzt1d6rtlOaxwyW3fq37MOlPVuxIu92Ljlllkrrd70jBylap6oN7q5hruTU zkEJ8TB+14Kf4fyd+DSl/kANkhfw458Y5itj1FYj3YLKKvmGP4rbM3Ok7mVsLFNRbk 7VPfKtAVeppkUPjnc2zZ2P484qqHTFtXXmYM+48M= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-98952: pfcp: make sure the SEID is linear before reading it Date: Fri, 23 Oct 2026 14:19:14 +0200 Message-ID: <2026102306-CVE-2026-98952-69a3@gregkh> X-Mailer: git-send-email 2.56.0 Reply-To: , X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3174; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=kYN87adEU8qwKbEzU8dip8+UY1vm/pSh40yMYIj2en0=; b=owGbwMvMwCRo6H6F97bub03G02pJDFm3A3ZxC09z8ed6LxnN3u/yOOVjFpuWJOe++QcnX03RL ZcXS9XuiGVhEGRikBVTZPmyjefo/opDil6Gtqdh5rAygQxh4OIUgInEf2aYK5P584xVqH5Cyte7 Xbd3HGMJvnJuP8OCm78yxPRUXay9BAVDf76suPbk7czPAA== 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: pfcp: make sure the SEID is linear before reading it pfcp_encap_recv() only makes sure that the UDP header and the 4 byte PFCP header are in the linear area. When the S flag is set, pfcp_session_recv() then reads the 8 byte SEID that follows, which is not covered by the pskb_may_pull() check. A short PFCP packet with the S flag set, or one whose session header lies in a fragment, therefore makes pfcp_session_recv() read beyond the end of the packet data, and whatever it finds there is stored in the tunnel metadata that flower later classifies on. Pull up to the end of the SEID before reading it, and drop packets that are too short to contain it. Reload the header pointer afterwards since pskb_may_pull() may reallocate the skb head. Use offsetofend() rather than sizeof(struct pfcphdr_session): the structure is not packed, so its size is 16 bytes because of the alignment of the __be64 member, while the header on the wire is only 12 bytes, and valid session messages would be dropped. The Linux kernel CVE team has assigned CVE-2026-98952 to this issue. Affected and fixed versions =========================== Issue introduced in 6.10 with commit 6dd514f48110ebb4bf36875b9e7e02d07b589caa and fixed in 6.12.113 with commit 3192a5e398c64d48aad64a09e29643e327369bc4 Issue introduced in 6.10 with commit 6dd514f48110ebb4bf36875b9e7e02d07b589caa and fixed in 6.18.57 with commit b18a6496495495e2dc27e525aa3315a0c59b9513 Issue introduced in 6.10 with commit 6dd514f48110ebb4bf36875b9e7e02d07b589caa and fixed in 7.2.11 with commit 2fb6d05f706d79bbdc88835be2f4f45ab56dd819 Issue introduced in 6.10 with commit 6dd514f48110ebb4bf36875b9e7e02d07b589caa and fixed in 7.3 with commit 23609bce9e1de525d1d0e73fc68c6e7971d0b49e 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-98952 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: drivers/net/pfcp.c 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/3192a5e398c64d48aad64a09e29643e327369bc4 https://git.kernel.org/stable/c/b18a6496495495e2dc27e525aa3315a0c59b9513 https://git.kernel.org/stable/c/2fb6d05f706d79bbdc88835be2f4f45ab56dd819 https://git.kernel.org/stable/c/23609bce9e1de525d1d0e73fc68c6e7971d0b49e