{"id":41178,"date":"2026-10-19T00:32:29","date_gmt":"2026-10-18T16:32:29","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98706"},"modified":"2026-10-19T00:32:29","modified_gmt":"2026-10-18T16:32:29","slug":"cve-2026-98706","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98706","title":{"rendered":"CVE-2026-98706 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: drain"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mac80211: drain PS delivery work during station teardown<\/p>\n<p>Removing an AP or mesh station can notify the driver and wake TXQs after<br \/>\nthe station has already been removed from the driver, and can update<br \/>\nnum_sta_ps and the power-save queues after station cleanup has purged<br \/>\nthem.<\/p>\n<p>sta_deliver_ps_frames() tests sta-&gt;dead only before it starts delivery. A<br \/>\nworker that passes that test can be delayed while teardown sets sta-&gt;dead<br \/>\nand removes the station from the driver; when it resumes it still runs the<br \/>\nfull delivery.<\/p>\n<p>The existing cancel_work_sync() sits near the end of<br \/>\n__cleanup_single_sta(), after the final driver state transition and after<br \/>\nPS accounting and queue purging, so it drains the worker only once the<br \/>\nstate it has to protect has already changed. Before commit d34ba2168a3c<br \/>\n(&#8220;mac80211: don&#8217;t delay station destruction&#8221;) cleanup was deferred<br \/>\nthrough the same ordered workqueue as the delivery work, which kept the<br \/>\ntwo ordered.<\/p>\n<p>Cancel the work after setting sta-&gt;dead and before moving the driver<br \/>\nstate, and move the existing cancellation to the start of<br \/>\n__cleanup_single_sta(). The first drain closes the driver-lifetime window;<br \/>\ndriver callbacks during the remaining state transitions can still queue<br \/>\ndrv_deliver_wk through ieee80211_sta_block_awake(), so retain the second<br \/>\ndrain at the start of __cleanup_single_sta(). That drain also covers<br \/>\ninsertion failures, which reach cleanup without setting sta-&gt;dead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mac80211: drain PS delivery work during station teardown<\/p>\n<p>Removing an AP or mesh station can notify the driver and wake TXQs <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41178","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41178","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=41178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}