mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
SAE: Check for invalid Rejected Groups element length explicitly
Instead of practically ignoring an odd octet at the end of the element, check for such invalid case explicitly. This is needed to avoid a potential group downgrade attack. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
b6f91e403a
commit
ba76df4f69
@ -426,7 +426,7 @@ static int check_sae_rejected_groups(struct hostapd_data *hapd,
|
||||
struct sae_data *sae)
|
||||
{
|
||||
const struct wpabuf *groups;
|
||||
size_t i, count;
|
||||
size_t i, count, len;
|
||||
const u8 *pos;
|
||||
|
||||
if (!sae->tmp)
|
||||
@ -436,7 +436,15 @@ static int check_sae_rejected_groups(struct hostapd_data *hapd,
|
||||
return 0;
|
||||
|
||||
pos = wpabuf_head(groups);
|
||||
count = wpabuf_len(groups);
|
||||
len = wpabuf_len(groups);
|
||||
if (len & 1) {
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"SAE: Invalid length of the Rejected Groups element payload: %zu",
|
||||
len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
count = len / 2;
|
||||
for (i = 0; i < count; i++) {
|
||||
int enabled;
|
||||
u16 group;
|
||||
|
Loading…
Reference in New Issue
Block a user