{"id":11229,"date":"2026-09-04T18:51:46","date_gmt":"2026-09-04T10:51:46","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74628"},"modified":"2026-09-04T18:51:46","modified_gmt":"2026-09-04T10:51:46","slug":"cve-2026-74628","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74628","title":{"rendered":"CVE-2026-74628 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet\/x25: fix use-afte"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net\/x25: fix use-after-free of the socket by its timers<\/p>\n<p>The x25 timers are armed with mod_timer() and cancelled with<br \/>\ntimer_delete(), so a pending timer holds no reference on the socket and a<br \/>\ncancel does not wait for a callback already running on another CPU.<\/p>\n<p>x25_heartbeat_expiry() also rearms unconditionally, so it can reinstall<br \/>\nsk-&gt;sk_timer after __x25_destroy_socket() has passed its cancel point.<br \/>\nThe following __sock_put() frees the socket while the timer is still<br \/>\nqueued, and the next expiry uses freed memory.  KASAN reports a<br \/>\nslab-use-after-free on the kmalloc-2k object freed by close().<\/p>\n<p>timer_delete_sync() cannot be used here: x25_heartbeat_expiry() and<br \/>\nx25_timer_expiry() both reach the cancels from inside the timer they<br \/>\nwould wait on, through __x25_destroy_socket() and x25_disconnect().<\/p>\n<p>Arm the timers with sk_reset_timer() and cancel them with sk_stop_timer()<br \/>\nso that an armed timer owns a reference, and release it in both expiry<br \/>\nhandlers.  Rearm the heartbeat only while sk_hashed(sk) is still true,<br \/>\nsince __x25_destroy_socket() unlinks the socket before dropping it.  Arm<br \/>\nthe deferred destroy timer the same way and drop its reference in<br \/>\nx25_destroy_timer().<\/p>\n<p>Reproduced on net with KASAN, with the heartbeat period shortened so the<br \/>\nwindow recurs.  With this patch the reproducer no longer triggers a<br \/>\nreport and \/proc\/net\/x25 drains.<\/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>net\/x25: fix use-after-free of the socket by its timers<\/p>\n<p>The x25 timers are armed with mod_timer() and cancelled with<br \/>\ntimer_delete(<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11229","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11229","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=11229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}