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.
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Use‑After‑Free vulnerability in the Linux kernel trace subsystem that can cause a kernel crash (Denial of Service).
Action: Apply Patch
AI Analysis

Impact

In the Linux kernel, the trace array handling for tracer option files releases a reference to an element of the trace_array's topts array only after that element has potentially been freed. This race condition can lead to a use‑after‑free, allowing an attacker to coerce the kernel into dereferencing stale memory and potentially causing a crash or compromising kernel integrity. The weakness is a classic memory corruption flaw that can destabilize the operating system.

Affected Systems

All Linux kernel distributions contain the affected trace subsystem. The vulnerability is present in any kernel that has not yet been updated with the patch that introduces the trace_array_tracer_options_get() helper. No specific version ranges are listed, so any kernel before the fix is potentially vulnerable.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not currently listed in CISA KEV. With no published exploits, the risk is largely theoretical. However, because the flaw can result in a kernel crash, the impact could be severe if an attacker has local privileged access to manipulate tracer instance creation and deletion. The likely attack vector requires a process with permission to open tracer option files, which normally implies root or a user with elevated capabilities. Consequently, the overall risk is moderate to high for systems with exposed tracer configuration or those allowing privileged users to configure trace instances.

Generated by OpenCVE AI on September 25, 2026 at 13:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that implements trace_array_tracer_options_get() and replaces the faulty reference handling.
  • Upgrade to a kernel version that includes the fix for the tracing subsystem.
  • Restrict write access to tracer option files and limit the creation and deletion of trace instances to trusted administrative users.

Generated by OpenCVE AI on September 25, 2026 at 13:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
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.
Title tracing: Take trace_array reference when opening a tracer options file
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T10:22:48.591Z

Reserved: 2026-09-25T10:18:58.203Z

Link: CVE-2026-97933

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:20.610

Modified: 2026-09-25T11:17:20.610

Link: CVE-2026-97933

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T14:00:13Z

Weaknesses