<?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 20:00:32 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-31481 — tracing: Drain deferred trigger frees if kthread creation fails</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-31481</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: Drain deferred trigger frees if kthread creation fails&lt;/p&gt;
&lt;p&gt;Boot-time trigger registration can fail before the trigger-data cleanup
kthread exists. Deferring those frees until late init is fine, but the
post-boot fallback must still drain the deferred list if kthread
creation never succeeds.&lt;/p&gt;
&lt;p&gt;Otherwise, boot-deferred nodes can accumulate on
trigger_data_free_list, later frees fall back to synchronously freeing
only the current object, and the older queued entries are leaked
forever.&lt;/p&gt;
&lt;p&gt;To trigger this, add the following to the kernel command line:&lt;/p&gt;
&lt;p&gt;trace_event=sched_switch trace_trigger=sched_switch.traceon,sched_switch.traceon&lt;/p&gt;
&lt;p&gt;The second traceon trigger will fail and be freed. This triggers a NULL
pointer dereference and crashes the kernel.&lt;/p&gt;
&lt;p&gt;Keep the deferred boot-time behavior, but when kthread creation fails,
drain the whole queued list synchronously. Do the same in the late-init
drain path so queued entries are not stranded there either.&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: Drain deferred trigger frees if kthread creation fails&lt;/p&gt;
&lt;p&gt;Boot-time trigger registration can fail before the trigger-data cleanup
kthread exists. Deferring those frees until late init is fine, but the
post-boot fallback must still drain the deferred list if kthread
creation never succeeds.&lt;/p&gt;
&lt;p&gt;Otherwise, boot-deferred nodes can accumulate on
trigger_data_free_list, later frees fall back to synchronously freeing
only the current object, and the older queued entries are leaked
forever.&lt;/p&gt;
&lt;p&gt;To trigger this, add the following to the kernel command line:&lt;/p&gt;
&lt;p&gt;trace_event=sched_switch trace_trigger=sched_switch.traceon,sched_switch.traceon&lt;/p&gt;
&lt;p&gt;The second traceon trigger will fail and be freed. This triggers a NULL
pointer dereference and crashes the kernel.&lt;/p&gt;
&lt;p&gt;Keep the deferred boot-time behavior, but when kthread creation fails,
drain the whole queued list synchronously. Do the same in the late-init
drain path so queued entries are not stranded there either.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-31481</guid>
    </item>
  </channel>
</rss>
