{"id":11221,"date":"2026-09-04T18:51:45","date_gmt":"2026-09-04T10:51:45","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74615"},"modified":"2026-09-04T18:51:45","modified_gmt":"2026-09-04T10:51:45","slug":"cve-2026-74615","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74615","title":{"rendered":"CVE-2026-74615 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nvxlan: do not arm the"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>vxlan: do not arm the ageing timer on a device that is down<\/p>\n<p>vxlan_changelink() arms vxlan-&gt;age_timer whenever the requested ageing<br \/>\ninterval differs from the configured one:<\/p>\n<p>\tif (conf.age_interval != vxlan-&gt;cfg.age_interval)<br \/>\n\t\tmod_timer(&amp;vxlan-&gt;age_timer, jiffies);<\/p>\n<p>There is no netif_running() test, so the timer is armed even on a device<br \/>\nthat was never brought up.  The only synchronous cancel in the driver is<br \/>\nthe timer_delete_sync() in vxlan_stop(), which is .ndo_stop.<br \/>\nnetif_close_many() drops devices without IFF_UP before<br \/>\n__dev_close_many() runs, so that cancel is skipped for such a device.<\/p>\n<p>vxlan_setup() sets dev-&gt;needs_free_netdev = true and age_timer is a<br \/>\nmember of struct vxlan_dev, so free_netdev() releases the allocation the<br \/>\ntimer lives in while it is still queued on a timer_base.<br \/>\nexpire_timers() unlinks the entry before it loads timer-&gt;function, so<br \/>\nthe timer core writes through the freed object&#8217;s list pointers:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in __run_timers+0x208\/0x654<br \/>\n  Write of size 8 at addr ffff00001adace68 by task true\/192<br \/>\n   __asan_store8+0x84\/0xac<br \/>\n   __run_timers+0x208\/0x654<br \/>\n   run_timer_softirq+0x154\/0x18c<br \/>\n  Allocated by task 189:<br \/>\n   alloc_netdev_mqs+0x64\/0x720<br \/>\n   rtnl_create_link+0x4ac\/0x520<br \/>\n   rtnl_newlink+0x758\/0xd00<br \/>\n  Freed by task 191:<br \/>\n   netdev_release+0x40\/0x58<br \/>\n   netdev_run_todo+0x4a4\/0x8c0<br \/>\n   rtnl_dellink+0x200\/0x4e8<\/p>\n<p>The rtnl operations involved are netns-scoped, so an unprivileged user<br \/>\ncan perform them in a new user and network namespace.<\/p>\n<p>Arming the timer on a down device never had an effect: vxlan_cleanup()<br \/>\nreturns early on !netif_running(), and vxlan_open() arms the timer for<br \/>\nany non-zero interval once the device is brought up.  Add the missing<br \/>\ntest.<\/p>\n<p>Discovered by XBOW, triaged by Baul Lee <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>vxlan: do not arm the ageing timer on a device that is down<\/p>\n<p>vxlan_changelink() arms vxlan-&gt;age_timer whenever the requested ageing<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11221","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}