ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/contrib/wpa/src/rsn_supp/wpa.c
(Generate patch)

Comparing trunk/contrib/wpa/src/rsn_supp/wpa.c (file contents):
Revision 12006 by laffer1, Sun Oct 22 18:17:53 2017 UTC vs.
Revision 12007 by root, Wed Aug 15 13:23:05 2018 UTC

# Line 1829 | Line 1829 | int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_a
1829  
1830          if (sm->proto == WPA_PROTO_RSN &&
1831              (key_info & WPA_KEY_INFO_ENCR_KEY_DATA)) {
1832 +                /*
1833 +                 * Only decrypt the Key Data field if the frame's authenticity
1834 +                 * was verified. When using AES-SIV (FILS), the MIC flag is not
1835 +                 * set, so this check should only be performed if mic_len != 0
1836 +                 * which is the case in this code branch.
1837 +                 */
1838 +                if (!(key_info & WPA_KEY_INFO_MIC)) {
1839 +                        wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
1840 +                                "WPA: Ignore EAPOL-Key with encrypted but unauthenticated data");
1841 +                        goto out;
1842 +                }
1843                  if (wpa_supplicant_decrypt_key_data(sm, key, ver))
1844                          goto out;
1845                  extra_len = WPA_GET_BE16(key->key_data_length);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines