diff options
author | Johannes Berg <[email protected]> | 2022-09-28 21:56:15 +0200 |
---|---|---|
committer | Johannes Berg <[email protected]> | 2022-10-10 09:49:52 +0200 |
commit | aebe9f4639b13a1f4e9a6b42cdd2e38c617b442d (patch) | |
tree | d86f40e07b9997801cb4f1cd0d60eeda5db34221 /tools/testing/selftests/bpf/prog_tests/prog_array_init.c | |
parent | af7d23f9d96a3e9647cff8619a6860d73b109b5f (diff) |
wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
In the copy code of the elements, we do the following calculation
to reach the end of the MBSSID element:
/* copy the IEs after MBSSID */
cpy_len = mbssid[1] + 2;
This looks fine, however, cpy_len is a u8, the same as mbssid[1],
so the addition of two can overflow. In this case the subsequent
memcpy() will overflow the allocated buffer, since it copies 256
bytes too much due to the way the allocation and memcpy() sizes
are calculated.
Fix this by using size_t for the cpy_len variable.
This fixes CVE-2022-41674.
Reported-by: Soenke Huster <[email protected]>
Tested-by: Soenke Huster <[email protected]>
Fixes: 0b8fb8235be8 ("cfg80211: Parsing of Multiple BSSID information in scanning")
Reviewed-by: Kees Cook <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/prog_array_init.c')
0 files changed, 0 insertions, 0 deletions