<?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 11:36:01 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-23004 — dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-23004</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;dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()&lt;/p&gt;
&lt;p&gt;syzbot was able to crash the kernel in rt6_uncached_list_flush_dev()
in an interesting way [1]&lt;/p&gt;
&lt;p&gt;Crash happens in list_del_init()/INIT_LIST_HEAD() while writing
list-&amp;gt;prev, while the prior write on list-&amp;gt;next went well.&lt;/p&gt;
&lt;p&gt;static inline void INIT_LIST_HEAD(struct list_head *list)
{
	WRITE_ONCE(list-&amp;gt;next, list); // This went well
	WRITE_ONCE(list-&amp;gt;prev, list); // Crash, @list has been freed.
}&lt;/p&gt;
&lt;p&gt;Issue here is that rt6_uncached_list_del() did not attempt to lock
ul-&amp;gt;lock, as list_empty(&amp;amp;rt-&amp;gt;dst.rt_uncached) returned
true because the WRITE_ONCE(list-&amp;gt;next, list) happened on the other CPU.&lt;/p&gt;
&lt;p&gt;We might use list_del_init_careful() and list_empty_careful(),
or make sure rt6_uncached_list_del() always grabs the spinlock
whenever rt-&amp;gt;dst.rt_uncached_list has been set.&lt;/p&gt;
&lt;p&gt;A similar fix is neeed for IPv4.&lt;/p&gt;
&lt;p&gt;[1]&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in INIT_LIST_HEAD include/linux/list.h:46 [inline]
 BUG: KASAN: slab-use-after-free in list_del_init include/linux/list.h:296 [inline]
 BUG: KASAN: slab-use-after-free in rt6_uncached_list_flush_dev net/ipv6/route.c:191 [inline]
 BUG: KASAN: slab-use-after-free in rt6_disable_ip+0x633/0x730 net/ipv6/route.c:5020
Write of size 8 at addr ffff8880294cfa78 by task kworker/u8:14/3450&lt;/p&gt;
&lt;p&gt;CPU: 0 UID: 0 PID: 3450 Comm: kworker/u8:14 Tainted: G             L      syzkaller #0 PREEMPT_{RT,(full)}
Tainted: [L]=SOFTLOCKUP
Hardware…&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;dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()&lt;/p&gt;
&lt;p&gt;syzbot was able to crash the kernel in rt6_uncached_list_flush_dev()
in an interesting way [1]&lt;/p&gt;
&lt;p&gt;Crash happens in list_del_init()/INIT_LIST_HEAD() while writing
list-&amp;gt;prev, while the prior write on list-&amp;gt;next went well.&lt;/p&gt;
&lt;p&gt;static inline void INIT_LIST_HEAD(struct list_head *list)
{
	WRITE_ONCE(list-&amp;gt;next, list); // This went well
	WRITE_ONCE(list-&amp;gt;prev, list); // Crash, @list has been freed.
}&lt;/p&gt;
&lt;p&gt;Issue here is that rt6_uncached_list_del() did not attempt to lock
ul-&amp;gt;lock, as list_empty(&amp;amp;rt-&amp;gt;dst.rt_uncached) returned
true because the WRITE_ONCE(list-&amp;gt;next, list) happened on the other CPU.&lt;/p&gt;
&lt;p&gt;We might use list_del_init_careful() and list_empty_careful(),
or make sure rt6_uncached_list_del() always grabs the spinlock
whenever rt-&amp;gt;dst.rt_uncached_list has been set.&lt;/p&gt;
&lt;p&gt;A similar fix is neeed for IPv4.&lt;/p&gt;
&lt;p&gt;[1]&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in INIT_LIST_HEAD include/linux/list.h:46 [inline]
 BUG: KASAN: slab-use-after-free in list_del_init include/linux/list.h:296 [inline]
 BUG: KASAN: slab-use-after-free in rt6_uncached_list_flush_dev net/ipv6/route.c:191 [inline]
 BUG: KASAN: slab-use-after-free in rt6_disable_ip+0x633/0x730 net/ipv6/route.c:5020
Write of size 8 at addr ffff8880294cfa78 by task kworker/u8:14/3450&lt;/p&gt;
&lt;p&gt;CPU: 0 UID: 0 PID: 3450 Comm: kworker/u8:14 Tainted: G             L      syzkaller #0 PREEMPT_{RT,(full)}
Tainted: [L]=SOFTLOCKUP
Hardware…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-23004</guid>
    </item>
  </channel>
</rss>
