CVE-2026-97933: Linux kernel · tracing: Take trace_array reference when opening a tracer options file
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80 : update Linux kernel when convenient.
Data as of 26 Oct 2026, 13:47 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 10% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80, d9232a90c6f7de822177d35d73d9234cba523ef9, b2890064a12efbeb3b3c093e69e9010dd244c881 +7
Exploitation evidence
Disclosed: evidence found.
CVE published 25 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
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.
References
- git.kernel.org/stable/c/61894ea0d2a1ae8ce903abf73bd56958c035f182 (opens in a new tab)
- git.kernel.org/stable/c/b2890064a12efbeb3b3c093e69e9010dd244c881 (opens in a new tab)
- git.kernel.org/stable/c/d9232a90c6f7de822177d35d73d9234cba523ef9 (opens in a new tab)
- git.kernel.org/stable/c/b2fb87d29ffb3a7a9ccc5acf12898ecb80587427 (opens in a new tab)
- git.kernel.org/stable/c/ed0aff60f83a9bdc2f6556376ac79c96b3ce7e80 (opens in a new tab)