<?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:27:39 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-74615 — vxlan: do not arm the ageing timer on a device that is down</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-74615</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;vxlan: do not arm the ageing timer on a device that is down&lt;/p&gt;
&lt;p&gt;vxlan_changelink() arms vxlan-&amp;gt;age_timer whenever the requested ageing
interval differs from the configured one:&lt;/p&gt;
&lt;p&gt;if (conf.age_interval != vxlan-&amp;gt;cfg.age_interval)
		mod_timer(&amp;amp;vxlan-&amp;gt;age_timer, jiffies);&lt;/p&gt;
&lt;p&gt;There is no netif_running() test, so the timer is armed even on a device
that was never brought up.  The only synchronous cancel in the driver is
the timer_delete_sync() in vxlan_stop(), which is .ndo_stop.
netif_close_many() drops devices without IFF_UP before
__dev_close_many() runs, so that cancel is skipped for such a device.&lt;/p&gt;
&lt;p&gt;vxlan_setup() sets dev-&amp;gt;needs_free_netdev = true and age_timer is a
member of struct vxlan_dev, so free_netdev() releases the allocation the
timer lives in while it is still queued on a timer_base.
expire_timers() unlinks the entry before it loads timer-&amp;gt;function, so
the timer core writes through the freed object&amp;#39;s list pointers:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in __run_timers+0x208/0x654
  Write of size 8 at addr ffff00001adace68 by task true/192
   __asan_store8+0x84/0xac
   __run_timers+0x208/0x654
   run_timer_softirq+0x154/0x18c
  Allocated by task 189:
   alloc_netdev_mqs+0x64/0x720
   rtnl_create_link+0x4ac/0x520
   rtnl_newlink+0x758/0xd00
  Freed by task 191:
   netdev_release+0x40/0x58
   netdev_run_todo+0x4a4/0x8c0
   rtnl_dellink+0x200/0x4e8&lt;/p&gt;
&lt;p&gt;The rtnl operations involved are netns-scoped, so an unprivil…&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;vxlan: do not arm the ageing timer on a device that is down&lt;/p&gt;
&lt;p&gt;vxlan_changelink() arms vxlan-&amp;gt;age_timer whenever the requested ageing
interval differs from the configured one:&lt;/p&gt;
&lt;p&gt;if (conf.age_interval != vxlan-&amp;gt;cfg.age_interval)
		mod_timer(&amp;amp;vxlan-&amp;gt;age_timer, jiffies);&lt;/p&gt;
&lt;p&gt;There is no netif_running() test, so the timer is armed even on a device
that was never brought up.  The only synchronous cancel in the driver is
the timer_delete_sync() in vxlan_stop(), which is .ndo_stop.
netif_close_many() drops devices without IFF_UP before
__dev_close_many() runs, so that cancel is skipped for such a device.&lt;/p&gt;
&lt;p&gt;vxlan_setup() sets dev-&amp;gt;needs_free_netdev = true and age_timer is a
member of struct vxlan_dev, so free_netdev() releases the allocation the
timer lives in while it is still queued on a timer_base.
expire_timers() unlinks the entry before it loads timer-&amp;gt;function, so
the timer core writes through the freed object&amp;#39;s list pointers:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in __run_timers+0x208/0x654
  Write of size 8 at addr ffff00001adace68 by task true/192
   __asan_store8+0x84/0xac
   __run_timers+0x208/0x654
   run_timer_softirq+0x154/0x18c
  Allocated by task 189:
   alloc_netdev_mqs+0x64/0x720
   rtnl_create_link+0x4ac/0x520
   rtnl_newlink+0x758/0xd00
  Freed by task 191:
   netdev_release+0x40/0x58
   netdev_run_todo+0x4a4/0x8c0
   rtnl_dellink+0x200/0x4e8&lt;/p&gt;
&lt;p&gt;The rtnl operations involved are netns-scoped, so an unprivil…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-74615</guid>
    </item>
  </channel>
</rss>
