• Johannes Berg's avatar
    wifi: cfg80211/mac80211: reject bad MBSSID elements · 8f033d2b
    Johannes Berg authored
    Per spec, the maximum value for the MaxBSSID ('n') indicator is 8,
    and the minimum is 1 since a multiple BSSID set with just one BSSID
    doesn't make sense (the # of BSSIDs is limited by 2^n).
    
    Limit this in the parsing in both cfg80211 and mac80211, rejecting
    any elements with an invalid value.
    
    This fixes potentially bad shifts in the processing of these inside
    the cfg80211_gen_new_bssid() function later.
    
    I found this during the investigation of CVE-2022-41674 fixed by the
    previous patch.
    
    Fixes: 0b8fb823 ("cfg80211: Parsing of Multiple BSSID information in scanning")
    Fixes: 78ac51f8 ("mac80211: support multi-bssid")
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    8f033d2b
scan.c 85.1 KB