From: Benjamin Berg Date: Mon, 18 Mar 2024 16:53:28 +0000 (+0200) Subject: wifi: cfg80211: check BSSID Index against MaxBSSID X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c7378d7d8be0b44d03c990a2686e64d038c694a5;p=linux.git wifi: cfg80211: check BSSID Index against MaxBSSID Add a verification that the BSSID Index does not exceed the maximum number of BSSIDs in the Multiple-BSSID set. Signed-off-by: Benjamin Berg Reviewed-by: Johannes Berg Signed-off-by: Miri Korenblit Link: https://msgid.link/20240318184907.a7574d415adc.I02f40c2920a9f602898190679cc27d0c8ee2c67d@changeid Signed-off-by: Johannes Berg --- diff --git a/net/wireless/scan.c b/net/wireless/scan.c index b55ffe73e1ef9..8ac2d19d8edec 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -2447,7 +2447,8 @@ cfg80211_parse_mbssid_data(struct wiphy *wiphy, profile, profile_len); if (!mbssid_index_ie || mbssid_index_ie[1] < 1 || mbssid_index_ie[2] == 0 || - mbssid_index_ie[2] > 46) { + mbssid_index_ie[2] > 46 || + mbssid_index_ie[2] >= (1 << elem->data[0])) { /* No valid Multiple BSSID-Index element */ continue; }