Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix memory leak in ieee80211_register_hw() If kmemdup() fails while copying supported band structures, the error path jumps to fail_rate. This skips rate_control_deinitialize() and leaks the initialized local->rate_ctrl. Fix this by adding a fail_band label that shares the rate-control cleanup path before falling through to the remaining teardown. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc7. An x86_64 allyesconfig build showed no new warnings. As we do not have a suitable mac80211 device/driver combination to test with, no runtime testing was able to be performed.
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
09b4a4faf9d037990ac4f8110dd944b27b42d5df to < f01eec75fd372961550b928902f3a2c11fca1dafaffected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < 3d8b9b290421c3cd505fcd2f551f143f8142786aaffected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < 08b71bd92317f99642b842cfc0d30200868162fcaffected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < a02b52fe54f7b5107aefa1ce28c2f69749c57616affected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < 45e9ac538cdff7bce656d731114a64eda85af0d7affected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < bdc0b8bfdc142439d6708b072e8159eb515ee7b0affected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < a7584f261e64fe14e45bdf70f343e16c1ee3a037affected09b4a4faf9d037990ac4f8110dd944b27b42d5df to < 95fc02722edde02946d0d475221f2b2054d3d8baaffected
Linux Linux
Default version status: affected
4.20affected0 to < 4.20unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/f01eec75fd372961550b928902f3a2c11fca1daf ↗
- https://git.kernel.org/stable/c/3d8b9b290421c3cd505fcd2f551f143f8142786a ↗
- https://git.kernel.org/stable/c/08b71bd92317f99642b842cfc0d30200868162fc ↗
- https://git.kernel.org/stable/c/a02b52fe54f7b5107aefa1ce28c2f69749c57616 ↗
- https://git.kernel.org/stable/c/45e9ac538cdff7bce656d731114a64eda85af0d7 ↗
- https://git.kernel.org/stable/c/bdc0b8bfdc142439d6708b072e8159eb515ee7b0 ↗
- https://git.kernel.org/stable/c/a7584f261e64fe14e45bdf70f343e16c1ee3a037 ↗
- https://git.kernel.org/stable/c/95fc02722edde02946d0d475221f2b2054d3d8ba ↗