Description
In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: validate assoc response length before status and IE access cfg80211_rx_assoc_resp() initialises the status and response-IE fields of cfg80211_connect_resp_params from the management frame before proving that the frame is long enough for those offsets. S1G and regular association responses also have different IE offsets, but the S1G path only patched resp_ie after the unsafe initialiser had already run. Defer resp_ie, resp_ie_len, and status to after the link-iteration loop. Use a bool to remember whether the frame is S1G, then validate the appropriate minimum length and set all three fields in a single if/else block. Funnel short-frame and SME-reject cleanup through a shared free_bss label for the abandon paths.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
6829c878ecd24ff0ae41b4668c7e9d0f11b66942 to < 3bcaaaa4ad334053ceea2ea2f0623f22afe2e1acaffected6829c878ecd24ff0ae41b4668c7e9d0f11b66942 to < 71be658246c903b9e96976a23c23800675896a1baffected6829c878ecd24ff0ae41b4668c7e9d0f11b66942 to < a57310600c1e2b9ada0f37c96e8f48aef47d3093affected6829c878ecd24ff0ae41b4668c7e9d0f11b66942 to < 78ac450ad4624d6b2999cb4eeb28916767f81247affected6829c878ecd24ff0ae41b4668c7e9d0f11b66942 to < b760113aeca2e9362d56bf9e9263373ffe6c8eb3affected
Linux Linux
Default version status: affected
2.6.32affected0 to < 2.6.32unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3bcaaaa4ad334053ceea2ea2f0623f22afe2e1ac ↗
- https://git.kernel.org/stable/c/71be658246c903b9e96976a23c23800675896a1b ↗
- https://git.kernel.org/stable/c/a57310600c1e2b9ada0f37c96e8f48aef47d3093 ↗
- https://git.kernel.org/stable/c/78ac450ad4624d6b2999cb4eeb28916767f81247 ↗
- https://git.kernel.org/stable/c/b760113aeca2e9362d56bf9e9263373ffe6c8eb3 ↗