]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
SAE: Reject invalid Rejected Groups element in the parser
authorJouni Malinen <j@w1.fi>
Tue, 9 Jul 2024 20:34:34 +0000 (23:34 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 9 Jul 2024 20:37:45 +0000 (23:37 +0300)
There is no need to depend on all uses (i.e., both hostapd and
wpa_supplicant) to verify that the length of the Rejected Groups field
in the Rejected Groups element is valid (i.e., a multiple of two octets)
since the common parser can reject the message when detecting this.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/common/sae.c

index a8fceb284c01676e9a429158fa37b38fa8d280dc..a65da613404ad310c73b585b184968c93cd88122 100644 (file)
@@ -2116,6 +2116,12 @@ static int sae_parse_rejected_groups(struct sae_data *sae,
                return WLAN_STATUS_UNSPECIFIED_FAILURE;
        epos++; /* skip ext ID */
        len--;
+       if (len & 1) {
+               wpa_printf(MSG_DEBUG,
+                          "SAE: Invalid length of the Rejected Groups element payload: %u",
+                          len);
+               return WLAN_STATUS_UNSPECIFIED_FAILURE;
+       }
 
        wpabuf_free(sae->tmp->peer_rejected_groups);
        sae->tmp->peer_rejected_groups = wpabuf_alloc(len);