{"id":33355,"date":"2026-10-06T20:31:50","date_gmt":"2026-10-06T12:31:50","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98286"},"modified":"2026-10-06T20:31:50","modified_gmt":"2026-10-06T12:31:50","slug":"cve-2026-98286","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98286","title":{"rendered":"CVE-2026-98286 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ndrop_monitor: use tim"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drop_monitor: use timer_shutdown_sync() to prevent timer rearming during teardown<\/p>\n<p>In drop_monitor teardown paths (net_dm_trace_off_set(),<br \/>\nnet_dm_hw_monitor_stop(), and error unwind paths in net_dm_trace_on_set()<br \/>\nand net_dm_hw_monitor_start()), per-CPU timers are stopped using<br \/>\ntimer_delete_sync() followed by cancel_work_sync().<\/p>\n<p>However, there is a circular dependency between send_timer and<br \/>\ndm_alert_work:<br \/>\n1) sched_send_work() (timer callback) schedules dm_alert_work.<br \/>\n2) send_dm_alert() \/ net_dm_hw_summary_work() calls reset_per_cpu_data()<br \/>\n   or net_dm_hw_reset_per_cpu_data().<br \/>\n3) If memory allocation fails under memory pressure in the reset<br \/>\n   function, it re-arms the timer via mod_timer(&amp;data-&gt;send_timer, &#8230;).<\/p>\n<p>If dm_alert_work is running concurrently while timer_delete_sync()<br \/>\nexecutes on another CPU, an allocation failure in the worker will<br \/>\nre-arm the timer after timer_delete_sync() has already returned.<br \/>\nOnce cancel_work_sync() completes and module_put() is called, the timer<br \/>\nremains active in the timer wheel. If the module is then unloaded, the<br \/>\ntimer will fire and execute sched_send_work() in freed memory,<br \/>\ntriggering a kernel panic \/ use-after-free.<\/p>\n<p>Switch from timer_delete_sync() to timer_shutdown_sync(). This guarantees<br \/>\nthat any in-flight timer handler has finished and prevents subsequent<br \/>\nre-arming attempts from running workers from succeeding. When monitoring<br \/>\nis restarted later, timer_setup() is invoked, which cleanly<br \/>\nre-initializes the timer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drop_monitor: use timer_shutdown_sync() to prevent timer rearming during teardown<\/p>\n<p>In drop_monitor teardown paths (net_dm_trace_off<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33355","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33355","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=33355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}