Skip to content

Commit 162d331

Browse files
SilverPlate3jmberg-intel
authored andcommitted
wifi: mac80211: bounds-check link_id in ieee80211_ml_reconfiguration
link_id is taken from the ML Reconfiguration element (control & 0x000f), so it can be 0..15. link_removal_timeout[] has IEEE80211_MLD_MAX_NUM_LINKS (15) elements, so index 15 is out-of-bounds. Skip subelements with link_id >= IEEE80211_MLD_MAX_NUM_LINKS to avoid a stack out-of-bounds write. Fixes: 8eb8dd2 ("wifi: mac80211: Support link removal using Reconfiguration ML element") Reported-by: Ariel Silver <[email protected]> Signed-off-by: Ariel Silver <[email protected]> Cc: [email protected] Link: https://patch.msgid.link/[email protected] Signed-off-by: Johannes Berg <[email protected]>
1 parent 2259d14 commit 162d331

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

net/mac80211/mlme.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7085,6 +7085,9 @@ static void ieee80211_ml_reconfiguration(struct ieee80211_sub_if_data *sdata,
70857085
control = le16_to_cpu(prof->control);
70867086
link_id = control & IEEE80211_MLE_STA_RECONF_CONTROL_LINK_ID;
70877087

7088+
if (link_id >= IEEE80211_MLD_MAX_NUM_LINKS)
7089+
continue;
7090+
70887091
removed_links |= BIT(link_id);
70897092

70907093
/* the MAC address should not be included, but handle it */

0 commit comments

Comments
 (0)