{"id":33374,"date":"2026-10-06T20:31:52","date_gmt":"2026-10-06T12:31:52","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98305"},"modified":"2026-10-06T20:31:52","modified_gmt":"2026-10-06T12:31:52","slug":"cve-2026-98305","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98305","title":{"rendered":"CVE-2026-98305 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet: dsa: mxl862xx: d"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: dsa: mxl862xx: disable the stats poll on teardown<\/p>\n<p>mxl862xx_setup() arms the stats poll before mxl862xx_setup_mdio(), and<br \/>\nnothing stops it until dsa_register_switch() has returned an error to<br \/>\nmxl862xx_probe(). DSA frees the dsa_port list before it returns, so a<br \/>\npoll that fires once .setup or a later step of dsa_tree_setup() has<br \/>\nfailed walks freed ports. On shutdown the user ports stay registered,<br \/>\nand the WORK_STOPPED flag test in mxl862xx_get_stats64() is not atomic<br \/>\nwith the cancel in mxl862xx_shutdown(), so a re-arm that read the flag<br \/>\nbefore it was set queues the poll after cancel_delayed_work_sync() has<br \/>\nreturned.<\/p>\n<p>Arm the poll once .setup has succeeded and stop it from a .teardown op,<br \/>\nwhich DSA calls on unregister and after a failed registration, in both<br \/>\ncases before it frees the ports. Use disable_delayed_work_sync() there<br \/>\nand in shutdown(): it drains a running poll as the cancel did and turns<br \/>\nevery later attempt to queue the work into a no-op, so the re-arm<br \/>\ncannot bring the poll back. remove() and the probe error path only set<br \/>\nWORK_STOPPED, which crc_err_work tests before it walks the ports.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: dsa: mxl862xx: disable the stats poll on teardown<\/p>\n<p>mxl862xx_setup() arms the stats poll before mxl862xx_setup_mdio(), and<br \/>\nnoth<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33374","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33374","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=33374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}