<?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>Thu, 01 Oct 2026 08:37:57 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-64451 — tracing: Fix NULL pointer dereference in func_set_flag()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-64451</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: Fix NULL pointer dereference in func_set_flag()&lt;/p&gt;
&lt;p&gt;func_set_flag() dereferences tr-&amp;gt;current_trace_flags before verifying
that the current tracer is actually the function tracer. When the active
tracer has been switched away from &amp;#34;function&amp;#34; (e.g., to &amp;#34;wakeup_rt&amp;#34;),
tr-&amp;gt;current_trace_flags can be NULL, leading to a NULL pointer
dereference and kernel crash.&lt;/p&gt;
&lt;p&gt;The call chain that triggers this is:&lt;/p&gt;
&lt;p&gt;trace_options_write()
    -&amp;gt; __set_tracer_option()
      -&amp;gt; trace-&amp;gt;set_flag()          /* func_set_flag */&lt;/p&gt;
&lt;p&gt;In func_set_flag(), the first operation is:&lt;/p&gt;
&lt;p&gt;if (!!set == !!(tr-&amp;gt;current_trace_flags-&amp;gt;val &amp;amp; bit))&lt;/p&gt;
&lt;p&gt;This dereferences tr-&amp;gt;current_trace_flags unconditionally. The safety
check that guards against a non-function tracer:&lt;/p&gt;
&lt;p&gt;if (tr-&amp;gt;current_trace != &amp;amp;function_trace)
      return 0;&lt;/p&gt;
&lt;p&gt;is placed *after* the dereference, which is too late.&lt;/p&gt;
&lt;p&gt;This was observed with the following crash dump:&lt;/p&gt;
&lt;p&gt;BUG: unable to handle page fault at 0000000000000000
  RIP: func_set_flag+0xd&lt;/p&gt;
&lt;p&gt;Call Trace:
   __set_tracer_option+0x27
   trace_options_write+0x75
   vfs_write+0x12a
   ksys_write+0x66
   do_syscall_64+0x5b&lt;/p&gt;
&lt;p&gt;RIP: ffffffff914c973d  RSP: ff67ec88b01dfdf0  RFLAGS: 00010202
  RAX: 0000000000000000  RBX: ff3a826e80354580  RCX: 0000000000000001
  RDX: 0000000000000001  RSI: 0000000000000000  RDI: ffffffff93918080&lt;/p&gt;
&lt;p&gt;The disassembly confirms the fault:&lt;/p&gt;
&lt;p&gt;func_set_flag+0:   mov 0x1f08(%rdi), %rax  ; RAX = tr-&amp;gt;current_trace_fla…&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: Fix NULL pointer dereference in func_set_flag()&lt;/p&gt;
&lt;p&gt;func_set_flag() dereferences tr-&amp;gt;current_trace_flags before verifying
that the current tracer is actually the function tracer. When the active
tracer has been switched away from &amp;#34;function&amp;#34; (e.g., to &amp;#34;wakeup_rt&amp;#34;),
tr-&amp;gt;current_trace_flags can be NULL, leading to a NULL pointer
dereference and kernel crash.&lt;/p&gt;
&lt;p&gt;The call chain that triggers this is:&lt;/p&gt;
&lt;p&gt;trace_options_write()
    -&amp;gt; __set_tracer_option()
      -&amp;gt; trace-&amp;gt;set_flag()          /* func_set_flag */&lt;/p&gt;
&lt;p&gt;In func_set_flag(), the first operation is:&lt;/p&gt;
&lt;p&gt;if (!!set == !!(tr-&amp;gt;current_trace_flags-&amp;gt;val &amp;amp; bit))&lt;/p&gt;
&lt;p&gt;This dereferences tr-&amp;gt;current_trace_flags unconditionally. The safety
check that guards against a non-function tracer:&lt;/p&gt;
&lt;p&gt;if (tr-&amp;gt;current_trace != &amp;amp;function_trace)
      return 0;&lt;/p&gt;
&lt;p&gt;is placed *after* the dereference, which is too late.&lt;/p&gt;
&lt;p&gt;This was observed with the following crash dump:&lt;/p&gt;
&lt;p&gt;BUG: unable to handle page fault at 0000000000000000
  RIP: func_set_flag+0xd&lt;/p&gt;
&lt;p&gt;Call Trace:
   __set_tracer_option+0x27
   trace_options_write+0x75
   vfs_write+0x12a
   ksys_write+0x66
   do_syscall_64+0x5b&lt;/p&gt;
&lt;p&gt;RIP: ffffffff914c973d  RSP: ff67ec88b01dfdf0  RFLAGS: 00010202
  RAX: 0000000000000000  RBX: ff3a826e80354580  RCX: 0000000000000001
  RDX: 0000000000000001  RSI: 0000000000000000  RDI: ffffffff93918080&lt;/p&gt;
&lt;p&gt;The disassembly confirms the fault:&lt;/p&gt;
&lt;p&gt;func_set_flag+0:   mov 0x1f08(%rdi), %rax  ; RAX = tr-&amp;gt;current_trace_fla…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-64451</guid>
    </item>
  </channel>
</rss>
