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 C00F349252E for ; Fri, 25 Sep 2026 10:29:02 +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=1790332144; cv=none; b=Fs+VFIKXVS3u9xUVeLgpWvdQwaPWJGAo/HW3x/5WpgozW+W7F3EJH4RAno8tpt5/OwdcWDdcWGBTe3mdfS54nkZw+gvwjDc52o/EYaP9SCVIZtRN6TbA99zlbw2PSzqp2bB6mHsHSannwfqHF1tgxzJBHBwkvuwECEZYaHcsxDo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790332144; c=relaxed/simple; bh=Go5XdEWoayRdtZzxCzRnwuU7lOaHSNugtI9fexaEf0o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Bc0xDecyHRUjZ1lQ3pRW8300f/da9hFlpmCGfI9ZO4syiJkMapvKWKSWRxwfN2ycV50soZMm2szmZnrIZNjHsIH8BIMNlkP08+7+uiTuWl4TkMKBxgOvZ2sJ4ndDYdM3x8S0GS5v3i5wY/SpsrvwP3gNvleG5z30hJ81IiRRigI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=v6UXHXzl; 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="v6UXHXzl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 504FA1F000FF; Fri, 25 Sep 2026 10:29:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1790332142; bh=gkWQPsnSgUpmldSXTndtOmKnfyAweV2w+qmCxMgQ400=; h=From:To:Cc:Subject:Date:Reply-To; b=v6UXHXzldkOEfAYadN+pabXCHegItO24oSkd+Ux+zO1ThTlR00Dh8jDk3QMjgmaQr L6ryunaOVAxPKnnW61hiCNBuDsYpTauCGLakAxJHFcVFYvS28IJt0Q5WgWzoKJ4dmW xM/nzNMCB91kj8hQz8JJClzlDpqyIpiwEftaz/5Y= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-97933: tracing: Take trace_array reference when opening a tracer options file Date: Fri, 25 Sep 2026 12:23:56 +0200 Message-ID: <2026092510-CVE-2026-97933-625f@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=3851; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=OHcnhlnFFrMAFvcUPAaXt2EwrGR2cX5HCsCWUk9KgF4=; b=owGbwMvMwCRo6H6F97bub03G02pJDFnbvINEX17a33J0mxLf708y3zYdmrczJtLlc9IXr7bbe l8fl5m87YhlYRBkYpAVU2T5so3n6P6KQ4pehranYeawMoEMYeDiFICJdDUwzA8WzHc5rWsZpRla Lmx8YtsV13k6LAzzM6JTU+5kVKXNFzSYuDBt250gCe0bAA== 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: tracing: Take trace_array reference when opening a tracer options file When a tracer option file is opened, it is passed a descriptor that points to an element on the trace_array's topts array. This element has information to find the trace array and other information. It uses this element to take a reference of the trace_array so that the trace_array does not get removed while this file is opened. Unfortunately, there's a race condition where the element itself could be freed by the removal of the instance the trace_array represents causing a use-after-free as this element that is used to find the trace_array to increment its reference counter is also freed when the instance is removed. To solve this, add a trace_array_tracer_options_get() helper function that will take the address of the element that is passed to the open function by the inode->i_private pointer and search all the trace_arrays under a lock to find the one that the element's address is in the range of the trace_arrays topts array elements. When a match happens, that trace_array's reference would be increased. Note, there's a race where if an admin was deleting and creating trace instances at the same time and the memory of the old trace_array's array matched the memory of the new trace_array that it could in theory open the option from the wrong trace array. But we do not care because it would be stupid to perform that kind of action. As long as the only thing that can happen is that the option from the wrong trace array is used and doesn't crash the kernel it will only make the user confused. But if they are doing something stupid like this, they are already confused, so no harm done. The Linux kernel CVE team has assigned CVE-2026-97933 to this issue. Affected and fixed versions =========================== Issue introduced in 6.6 with commit 7e2cfbd2d3c86afcd5c26b5c4b1dd251f63c5838 and fixed in 7.2.7 with commit b2fb87d29ffb3a7a9ccc5acf12898ecb80587427 Issue introduced in 6.6 with commit 7e2cfbd2d3c86afcd5c26b5c4b1dd251f63c5838 and fixed in 7.3-rc3 with commit ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80 Issue introduced in 5.4.257 with commit 952e477f908048145a5eb2ed3d431d9efc1e1073 Issue introduced in 5.10.197 with commit b3183f5f05cd867f5c17122773ca5aa8d07b51af Issue introduced in 5.15.133 with commit bf38c1d29f8bfe9631b62a67f8dd1b8f7efb7139 Issue introduced in 6.1.55 with commit 2617afde0c3db285778734b0ccad9a55b4f9cda2 Issue introduced in 6.5.5 with commit 586787a0331aa2d7d244e9c4400d2a73295b0cf0 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-97933 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: kernel/trace/trace.c kernel/trace/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/b2fb87d29ffb3a7a9ccc5acf12898ecb80587427 https://git.kernel.org/stable/c/ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80