{"id":33327,"date":"2026-10-06T20:31:47","date_gmt":"2026-10-06T12:31:47","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98258"},"modified":"2026-10-06T20:31:47","modified_gmt":"2026-10-06T12:31:47","slug":"cve-2026-98258","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98258","title":{"rendered":"CVE-2026-98258 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nposix-cpu-timers: Pre"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>posix-cpu-timers: Prevent freeing a timer which is queued on the expiry list<\/p>\n<p>Kijo analyzed another race in the POSIX CPU timer code:<\/p>\n<p>Commit bf635681c906 converted cpu_timer::firing from a tristate value to a<br \/>\nboolean. This lost the distinction between &#8220;not owned by the firing list&#8221;<br \/>\nand &#8220;still owned, but delivery was canceled&#8221;. The resulting race is:<\/p>\n<p>    expiry handler              timer_settime()        timer_delete()<br \/>\n    &#8212;&#8212;&#8212;&#8212;&#8211;              &#8212;&#8212;&#8212;&#8212;&#8212;        &#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n    collect timer onto<br \/>\n    private firing list<br \/>\n    firing = true<br \/>\n                                observes firing = true<br \/>\n                                firing = false<br \/>\n                                return TIMER_RETRY<br \/>\n                                wait for handler<br \/>\n                                                       observes firing = false<br \/>\n                                                       finish deletion<br \/>\n                                                       unhash and free timer<br \/>\n    resume list traversal<br \/>\n    read freed elist.next<br \/>\n    -&gt; UAF<\/p>\n<p>The firing bit is clearly the wrong indicator since that commit.<\/p>\n<p>Check whether the timer is queued on the expiry list or not instead. If it<br \/>\nis queued clear the firing bit to prevent signal delivery as before and<br \/>\nreturn TIMER_RETRY so the caller unlocks the timer which allows the expiry<br \/>\ncode to make progress and remove it from the list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>posix-cpu-timers: Prevent freeing a timer which is queued on the expiry list<\/p>\n<p>Kijo analyzed another race in the POSIX CPU timer cod<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33327","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33327","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=33327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}