Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 3bcaaaa4ad334053ceea2ea2f0623f22afe2e1ac; affected 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 71be658246c903b9e96976a23c23800675896a1b; affected 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before a57310600c1e2b9ada0f37c96e8f48aef47d3093; affected 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 78ac450ad4624d6b2999cb4eeb28916767f81247; affected 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before b760113aeca2e9362d56bf9e9263373ffe6c8eb3 |
| Linux / Linux | affected 2.6.32; unaffected 0 before 2.6.32; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.111 through 6.12.*; unaffected 6.18.53 through 6.18.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
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