<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 07:35:10 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-97933 — tracing: Take trace_array reference when opening a tracer options file</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-97933</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tracing: Take trace_array reference when opening a tracer options file&lt;/p&gt;
&lt;p&gt;When a tracer option file is opened, it is passed a descriptor that points
to an element on the trace_array&amp;#39;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.&lt;/p&gt;
&lt;p&gt;Unfortunately, there&amp;#39;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.&lt;/p&gt;
&lt;p&gt;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-&amp;gt;i_private pointer and search all the trace_arrays under a
lock to find the one that the element&amp;#39;s address is in the range of the
trace_arrays topts array elements. When a match happens, that trace_array&amp;#39;s
reference would be increased.&lt;/p&gt;
&lt;p&gt;Note, there&amp;#39;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&amp;#39;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.…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tracing: Take trace_array reference when opening a tracer options file&lt;/p&gt;
&lt;p&gt;When a tracer option file is opened, it is passed a descriptor that points
to an element on the trace_array&amp;#39;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.&lt;/p&gt;
&lt;p&gt;Unfortunately, there&amp;#39;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.&lt;/p&gt;
&lt;p&gt;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-&amp;gt;i_private pointer and search all the trace_arrays under a
lock to find the one that the element&amp;#39;s address is in the range of the
trace_arrays topts array elements. When a match happens, that trace_array&amp;#39;s
reference would be increased.&lt;/p&gt;
&lt;p&gt;Note, there&amp;#39;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&amp;#39;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.…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-97933</guid>
    </item>
  </channel>
</rss>
