Linux: wifi: cfg80211: validate assoc response length before status and IE access
What fixes it
- 3bcaaaa4ad334053ceea2ea2f0623f22afe2e1acLinuxCVE List
- 71be658246c903b9e96976a23c23800675896a1bLinuxCVE List
- 78ac450ad4624d6b2999cb4eeb28916767f81247LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from CVE List
Affected versions 12
- Linuxaffected: 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 3bcaaaa4ad334053ceea2ea2f0623f22afe2e1acCVE List
- Linuxaffected: 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 71be658246c903b9e96976a23c23800675896a1bCVE List
- Linuxaffected: 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before a57310600c1e2b9ada0f37c96e8f48aef47d3093CVE List
- Linuxaffected: 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before 78ac450ad4624d6b2999cb4eeb28916767f81247CVE List
- Linuxaffected: 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 before b760113aeca2e9362d56bf9e9263373ffe6c8eb3CVE List
- Linuxaffected: 2.6.32CVE List
- Linuxunaffected: all versions before 2.6.32CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2CVE List
References 5
- git.kernel.org/stable/c/3bcaaaa4ad334053ceea2ea2f0623f22afe2e1acReferencevia CVE List
- git.kernel.org/stable/c/71be658246c903b9e96976a23c23800675896a1bReferencevia CVE List
- git.kernel.org/stable/c/a57310600c1e2b9ada0f37c96e8f48aef47d3093Referencevia CVE List
- git.kernel.org/stable/c/78ac450ad4624d6b2999cb4eeb28916767f81247Referencevia CVE List
- git.kernel.org/stable/c/b760113aeca2e9362d56bf9e9263373ffe6c8eb3Referencevia CVE List