Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: unlist vifs when their netdev is unregistered mac80211 only removes vifs from the local->interfaces list when an interface is removed via ieee80211_if_remove(), before it unregisters the netdev. However, it's possible for a netdev to be unregistered without going through that: When the netns that holds the wiphy is destroyed, the wiphy is supposed to move to the init_ns, but that can run into allocation failures. Then, mac80211 has an interface listed that doesn't exist, and will eventually hit BUG: failure at net/wireless/core.h:141/wiphy_to_rdev()! ... _cfg80211_unregister_wdev+0x24/0x36a [cfg80211] cfg80211_unregister_wdev+0x15/0x1d [cfg80211] ieee80211_remove_interfaces+0x1ff/0x257 [mac80211] ieee80211_unregister_hw+0x73/0x1d1 [mac80211] mac80211_hwsim_del_radio+0x114/0x166 [mac80211_hwsim] Remove the interface from the list in ->ndo_uninit if it's still around to avoid this.
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
463d018323851a608eef52a9427b0585005c647f to < a22c02863439993095acd0c3db97fa53cd515f4faffected463d018323851a608eef52a9427b0585005c647f to < 20a56e96a6f7b4dfbd13f8732fd2673409fc7ba0affected463d018323851a608eef52a9427b0585005c647f to < b735ad1a9aca6080192c1316cf2706e5e1318762affected463d018323851a608eef52a9427b0585005c647f to < d45bf731ec7085d2cc2c5d179d3b3b6c743d4fb1affected463d018323851a608eef52a9427b0585005c647f to < 821bab0456dfca12acef6df702c8f2477d313227affected463d018323851a608eef52a9427b0585005c647f to < eee2efd82867b623982ac51925b5a1812a74c50daffected
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.112 to ≤ 6.12.*unaffected6.18.54 to ≤ 6.18.*unaffected7.2.8 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a22c02863439993095acd0c3db97fa53cd515f4f ↗
- https://git.kernel.org/stable/c/20a56e96a6f7b4dfbd13f8732fd2673409fc7ba0 ↗
- https://git.kernel.org/stable/c/b735ad1a9aca6080192c1316cf2706e5e1318762 ↗
- https://git.kernel.org/stable/c/d45bf731ec7085d2cc2c5d179d3b3b6c743d4fb1 ↗
- https://git.kernel.org/stable/c/821bab0456dfca12acef6df702c8f2477d313227 ↗
- https://git.kernel.org/stable/c/eee2efd82867b623982ac51925b5a1812a74c50d ↗