Skip to main content
← All vulnerabilities
CVE-2026-98186

wifi: mwifiex: bound the pairwise-cipher OUI walk to the IE length

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: bound the pairwise-cipher OUI walk to the IE length mwifiex_search_oui_in_ie() reads a pairwise-cipher (PTK) count from a beacon/probe-response RSN or WPA information element and then walks that many 4-byte OUIs, comparing each with memcmp(). The count comes straight from the (attacker-supplied) IE and is never checked against the element's own length, and the callers admit the element on element_id alone (has_ieee_hdr() / has_vendor_hdr(), no length check). A crafted RSN/WPA IE with a large pairwise count therefore makes the walk read up to 255 * 4 bytes past the element -- an out-of-bounds read of the kmemdup()'d beacon buffer, reachable from any AP whose beacon/probe response is processed during scan-result parsing. Pass the number of IE bytes available at the OUI list and bound the walk to the element. Keep the length signed and reject a negative value before any unsigned arithmetic, so a small or zero IE length cannot underflow to a large size_t and defeat the bound. Found by 0sec automated security-research tooling (https://0sec.ai).

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 77e642af7f2f6029e12a35c847c56cbd0466e799; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 982b8fcdbb28f63bbbf02f0822c0bbda12ec27ed; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 58767b41f87244eebaa5a475b9d276c83b89b933; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 2402c9e2644b7e10c7aaaf87bf12743d7e363559; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 54a9cc5bd70b0d77a5069d4c46998c679a10c857; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 8bbef2b1ebfbadc0b9c37bbbf9c9e26fe2e41960; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in 46cda9d42f0d6ec3057d878ddb1f38c0ab9f51df; From 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e · fixed in e667aee1c192d67d27c803007bfa9c6e0873e959

  • Linux Linux

    3.0

  • KernelLinux

    From 3.0.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8

References 8

git.kernel.org