Linux: wifi: mac80211: don't call ieee80211_handle_reconfig_failure when not needed
What fixes it
- 026637b864b16dfae238e7e1accded820a3d7ae8LinuxCVE List
- 6ef85dd9f8c62c9a465a32901d09475a114e67bdLinuxCVE List
- 60b96e44489d6775fe9cd8df619c29e0dc285c49LinuxCVE List
- 6fb64029457cdcd77be546daf4c7c7cf04891857LinuxCVE List
- 7a8a3ff2815501f78f494808355ddf37e08647d0LinuxCVE 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: mac80211: don't call ieee80211_handle_reconfig_failure when not needed
In case reconfiguration of NAN fails, we call ieee80211_handle_reconfig_failure, that marks all interfaces as not in the driver. Then, at the error path of the reconfig, cfg80211_shutdown_all_interfaces is called to destroy all the interfaces.
If we have any other interface but the NAN one, for example a BSS station, then when its state (links, stations) will be removed, we won't tell the driver about this, because we will think that the interfaces are not in the driver, and then drivers might remain with dangling pointers to objects like stations and links (at least for iwlwifi this is the case).
ieee80211_handle_reconfig_failure is meant to be called after we cleaned up the state in the driver, there is no reason to call it for NAN reconfiguration failure.
Fix the code to just warn in such a case, as we do in other error paths in reconfig where it is too complicated to rewind.
Text from CVE List
Affected versions 16
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before 026637b864b16dfae238e7e1accded820a3d7ae8CVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before 6ef85dd9f8c62c9a465a32901d09475a114e67bdCVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before f27a5bda84ff3b0fea3de7572ff48e518e66cf5dCVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before d2ea99884793c0a8d940073c3dddbb887590718fCVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before 60b96e44489d6775fe9cd8df619c29e0dc285c49CVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before 6fb64029457cdcd77be546daf4c7c7cf04891857CVE List
- Linuxaffected: 167e33f4f68cc8e4e3bdaf6d43641176c51f2d79 before 7a8a3ff2815501f78f494808355ddf37e08647d0CVE List
- Linuxaffected: 4.9CVE List
- Linuxunaffected: all versions before 4.9CVE List
- Linuxunaffected: 5.10.271 through 5.10.*CVE List
- Linuxunaffected: 5.15.222 through 5.15.*CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.160 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 7
- git.kernel.org/stable/c/026637b864b16dfae238e7e1accded820a3d7ae8Referencevia CVE List
- git.kernel.org/stable/c/6ef85dd9f8c62c9a465a32901d09475a114e67bdReferencevia CVE List
- git.kernel.org/stable/c/f27a5bda84ff3b0fea3de7572ff48e518e66cf5dReferencevia CVE List
- git.kernel.org/stable/c/d2ea99884793c0a8d940073c3dddbb887590718fReferencevia CVE List
- git.kernel.org/stable/c/60b96e44489d6775fe9cd8df619c29e0dc285c49Referencevia CVE List
- git.kernel.org/stable/c/6fb64029457cdcd77be546daf4c7c7cf04891857Referencevia CVE List
- git.kernel.org/stable/c/7a8a3ff2815501f78f494808355ddf37e08647d0Referencevia CVE List