In the Linux kernel, the following vulnerability has been resolved:
wifi: mwifiex: Initialize the chan_stats array to zero
The adapter->chan_stats[] array is initialized in mwifiex_init_channel_scan_gap() with vmalloc(), which doesn't zero out memory. The array is filled in mwifiex_update_chan_statistics() and then the user can query the data in mwifiex_cfg80211_dump_survey().
There are two potential issues here. What if the user calls mwifiex_cfg80211_dump_survey() before the data has been filled in. Also the mwifiex_update_chan_statistics() function doesn't necessarily initialize the whole array. Since the array was not initialized at the start that could result in an information leak.
Also this array is pretty small. It's a maximum of 900 bytes so it's more appropriate to use kcalloc() instead vmalloc().
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 3.19 | 5.4.299 |
| linux / linux_kernel | 5.5 | 5.10.243 |
| linux / linux_kernel | 5.11 | 5.15.192 |
| linux / linux_kernel | 5.16 | 6.1.151 |
| linux / linux_kernel | 6.2 | 6.6.105 |
| linux / linux_kernel | 6.7 | 6.12.46 |
| linux / linux_kernel | 6.13 | 6.16.6 |
| linux / linux_kernel | 6.17-rc1 | 6.17-rc1.x |
| linux / linux_kernel | 6.17-rc2 | 6.17-rc2.x |
| linux / linux_kernel | 6.17-rc3 | 6.17-rc3.x |
| linux / linux_kernel | 6.17-rc4 | 6.17-rc4.x |
| debian / debian_linux | 11.0 | 11.0.x |