{"id":5426,"date":"2026-09-04T18:47:49","date_gmt":"2026-09-04T10:47:49","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68326"},"modified":"2026-09-04T18:47:49","modified_gmt":"2026-09-04T10:47:49","slug":"cve-2026-68326","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68326","title":{"rendered":"CVE-2026-68326 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mwifiex: bound"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mwifiex: bound uAP association event IEs to the event buffer<\/p>\n<p>mwifiex_process_uap_event() handles EVENT_UAP_STA_ASSOC by exposing the<br \/>\n(re)association request IEs that the firmware copies into the event:<\/p>\n<p>\tsinfo-&gt;assoc_req_ies = &amp;event-&gt;data[len];<br \/>\n\tlen = (u8 *)sinfo-&gt;assoc_req_ies &#8211; (u8 *)&amp;event-&gt;frame_control;<br \/>\n\tsinfo-&gt;assoc_req_ies_len = le16_to_cpu(event-&gt;len) &#8211; (u16)len;<\/p>\n<p>event-&gt;len is supplied by the device firmware and is never validated,<br \/>\nand the subtraction is unchecked.  assoc_req_ies points into<br \/>\nadapter-&gt;event_body[MAX_EVENT_SIZE], a fixed-size array embedded in the<br \/>\nkmalloc()&#8217;d struct mwifiex_adapter.<\/p>\n<p>On the ap_11n_enabled path mwifiex_set_sta_ht_cap() walks these IEs with<br \/>\ncfg80211_find_ie(), whose for_each_element() loop dereferences each<br \/>\nelement header.  A firmware-reported event-&gt;len larger than the bytes<br \/>\nactually received makes assoc_req_ies_len describe IEs that extend past<br \/>\nevent_body, so the walk reads out of the adapter slab object, a<br \/>\nslab-out-of-bounds read (KASAN: slab-out-of-bounds in cfg80211_find_ie).<br \/>\nAn event-&gt;len smaller than the header instead makes the int subtraction<br \/>\nnegative, which wraps to a huge size_t when stored in assoc_req_ies_len.<br \/>\nThe same length is handed to cfg80211_new_sta(), so a more modest<br \/>\nover-claim can also copy stale event_body bytes into the<br \/>\nNL80211_CMD_NEW_STATION notification.<\/p>\n<p>A malicious or malfunctioning mwifiex device (USB\/SDIO\/PCIe) can deliver<br \/>\nsuch an event while the interface is in AP\/uAP mode.<\/p>\n<p>Validate event-&gt;len before use: reject a length that underflows the<br \/>\nheader or that would place the IEs outside the event_body[] buffer the<br \/>\nevent was copied into.  event-&gt;len here is struct mwifiex_assoc_event.len,<br \/>\na payload field internal to this event, not the transport frame length,<br \/>\nso it is validated in this handler rather than at the generic<br \/>\nMWIFIEX_TYPE_EVENT receive path, which only sees the event cause and the<br \/>\ntransport frame length.  The bound is against event_body[MAX_EVENT_SIZE]<br \/>\nrather than the actually-received length because the transports store the<br \/>\nevent differently (USB and SDIO leave the 4-byte event header in<br \/>\nevent_skb, PCIe strips it via skb_pull), whereas event_body is the single<br \/>\nfixed buffer all of them copy the event into.  This is the event-path<br \/>\nanalogue of the receive-path bounds checks added in commit 119585281617<br \/>\n(&#8220;wifi: mwifiex: Fix OOB and integer underflow when rx packets&#8221;).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: mwifiex: bound uAP association event IEs to the event buffer<\/p>\n<p>mwifiex_process_uap_event() handles EVENT_UAP_STA_ASSOC by expo<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-5426","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/5426","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=5426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}