{"id":33418,"date":"2026-10-06T20:31:58","date_gmt":"2026-10-06T12:31:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98349"},"modified":"2026-10-06T20:31:58","modified_gmt":"2026-10-06T12:31:58","slug":"cve-2026-98349","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98349","title":{"rendered":"CVE-2026-98349 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: libipw: reject"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: libipw: reject too-short beacon and probe responses<\/p>\n<p>libipw_process_probe_response() and the libipw_network_init() call it<br \/>\nmakes assume the frame contains the full 36-byte beacon and probe<br \/>\nresponse prefix, but the ipw2100 and ipw2200 receive paths only<br \/>\nestablish that a management frame carries the generic 24-byte<br \/>\nthree-address header.<\/p>\n<p>libipw_network_init() then computes the information element length as<\/p>\n<p>\tstats-&gt;len &#8211; sizeof(*beacon)<\/p>\n<p>stats-&gt;len is a u16 and sizeof() has type size_t, so the subtraction is<br \/>\nevaluated as size_t and wraps instead of going negative.  Truncating<br \/>\nthat to the u16 length parameter of libipw_parse_info_param() yields<br \/>\n65524 for a 24-byte beacon, and the parser then walks the receive<br \/>\nbuffer as if it held almost 64 KiB of information elements, reading<br \/>\npast the allocation.<\/p>\n<p>Reject the frame before any fixed field is touched.<\/p>\n<p>Found by an AI-assisted review of length arithmetic in management frame<br \/>\nparsers.  Verified with a KUnit case under Generic KASAN on arm64 under<br \/>\nQEMU; I do not have the hardware, so it is not tested on a real device.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: libipw: reject too-short beacon and probe responses<\/p>\n<p>libipw_process_probe_response() and the libipw_network_init() call it<br \/>\nma<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33418","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33418","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=33418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}