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 593AE583AA6 for ; Fri, 11 Sep 2026 19:55:06 +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=1789156517; cv=none; b=IskO7gCV3ZmCj/Hb1GdgX7LYoRxjy9ue03vn0KPclEMNB418t3W8kJJJN1nWHNBNc24FDMUEnTG7B+r/tFkojwErKR6kaIJ/SXbwxXtqjPgFF824pybhg7wD1obAfe3d+cj2v2PZ5XPZZ1/IKgfU6V6+pdpuFcgiDdhfOLHKx7s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789156517; c=relaxed/simple; bh=t0rndKPcaey9Ha3hGMmNrssX9yLns2PvFCgHFnYCg/k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EbMlrCMtRlB4LsQfNbLFi+CuWiGZNvObZFesv/Gn07tSaJVslS3W4iQXksiYsSv4/iIjHg4clqRsi+o/XbG/xIsyUkf30nb/ttkGuOeGOE/MHA4iVM0XQ2CtfgdvN6L0jJC3DPRhNP+aTblNNattWJUMRAxczw1sk+oblscgsMQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=QgQ8veoD; 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="QgQ8veoD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 112AA1F0089A; Fri, 11 Sep 2026 19:55:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1789156503; bh=tJaqGpGK284buACzYrszg7BFRZpeI7XI4ZpWjAF8doI=; h=From:To:Cc:Subject:Date:Reply-To; b=QgQ8veoDGyWwipu4SAGUcQJXXqpuOha87EY6UqRkjZq9/YYHPAVyBcb2eTOHpIuKI z5epTbyKOquGucWlfN/Lvxt8z+0ZIAUqHrZy56VR459odQTzD2sfFvSSH5TqMZtaYJ P0oOtswnauFykc+2OsVC1awmErOVdjqEGr5N9pzI= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-89539: SUNRPC: reject duplicate CREDS_VALUE options Date: Fri, 11 Sep 2026 21:43:48 +0200 Message-ID: <2026091118-CVE-2026-89539-dd5b@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=3451; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=KMQ0oI6UB8eA/APKjQ+YZsGD5QQ/NIEJnjnL7D6UUvE=; b=owGbwMvMwCRo6H6F97bub03G02pJDFlLIuOYFnyz7NOpnPCL8S7b1tN6C46YN2f+sQ40u++w8 4NhoJhaRywLgyATg6yYIsuXbTxH91ccUvQytD0NM4eVCWQIAxenAEzk+kKG+QGP/3te9LDq2+tz w4zxE3+9Z/6dewwLjsad+7B9lYCDeKbDlzPMR3fx3wjdCAA= 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: SUNRPC: reject duplicate CREDS_VALUE options gssx_dec_option_array() walks the wire-supplied option array and, for every entry whose name matches CREDS_VALUE, calls gssx_dec_linux_creds() on the same struct svc_cred. That helper unconditionally installs a fresh groups_alloc() result into creds->cr_group_info without releasing whatever pointer was already there: for (i = 0; i < count; i++) { ... decode name ... if (length == sizeof(CREDS_VALUE) && memcmp(p, CREDS_VALUE, sizeof(CREDS_VALUE)) == 0) { err = gssx_dec_linux_creds(xdr, creds); ... } } A reply that carries two CREDS_VALUE entries therefore overwrites cr_group_info on the second iteration and orphans the group_info allocated by the first call. The earlier free_creds path only releases the last cr_group_info via free_svc_cred(), so the first allocation's refcount stays at one and its kvmalloc-backed storage is leaked. No in-tree caller of gssp_accept_sec_context_upcall() expects more than one CREDS_VALUE per reply. Fix by tracking whether a CREDS_VALUE option has already been decoded and returning -EINVAL on any subsequent match, so the free_creds path releases the single group_info that was installed. The Linux kernel CVE team has assigned CVE-2026-89539 to this issue. Affected and fixed versions =========================== Issue introduced in 3.10 with commit 1d658336b05f8697d6445834f8867f8ad5e4f735 and fixed in 6.12.109 with commit f615b884310bf82d0014e3b5a92eb9aa88146685 Issue introduced in 3.10 with commit 1d658336b05f8697d6445834f8867f8ad5e4f735 and fixed in 6.18.50 with commit 7a1d0501cbb962beba23377035d667bf3c1726ee Issue introduced in 3.10 with commit 1d658336b05f8697d6445834f8867f8ad5e4f735 and fixed in 7.2.4 with commit 9d94f046b23de0f77849ea69133063c949297e30 Issue introduced in 3.10 with commit 1d658336b05f8697d6445834f8867f8ad5e4f735 and fixed in 7.3-rc1 with commit 2e4ce62385c1b8a887c5370af058ac7b52a8eaf9 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-89539 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: net/sunrpc/auth_gss/gss_rpc_xdr.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/f615b884310bf82d0014e3b5a92eb9aa88146685 https://git.kernel.org/stable/c/7a1d0501cbb962beba23377035d667bf3c1726ee https://git.kernel.org/stable/c/9d94f046b23de0f77849ea69133063c949297e30 https://git.kernel.org/stable/c/2e4ce62385c1b8a887c5370af058ac7b52a8eaf9