wpa_supplicant/backport-CVE-2024-5290.patch
2024-08-09 12:14:10 +08:00

35 lines
1.4 KiB
Diff

https://github.com/deepin-community/wpa/commit/512af510f0ae65392ff128008252fa37fbafa26b
Description: slow certification.
When using PEAP certification, the server may use Identity's Request message
as a heartbeat; there will be many clients on the Internet to send address
01: 80: C2: 00: 03 Identity's Response message as a heartbeat; at this time
When a client is broken and reconnect, it is easy to receive this message,
resulting in triggering restart of EAPOL authentication, resulting in a slow
authentication. So Ignore the response message in the Connecting state.
Author: xinpeng wang <wangxinpeng@uniontech.com>
Origin: https://gerrit.uniontech.com/plugins/gitiles/base/wpa/+/accd188752a1b2656a92dabca48616cb9889f386
Bug: https://pms.uniontech.com/zentao/bug-view-105383.html
Last-Update: 2022-05-19
--- wpa-2.10.orig/src/eapol_supp/eapol_supp_sm.c
+++ wpa-2.10/src/eapol_supp/eapol_supp_sm.c
@@ -1357,6 +1357,15 @@ int eapol_sm_rx_eapol(struct eapol_sm *s
break;
}
}
+ {
+ const struct eap_hdr *ehdr =
+ (const struct eap_hdr *) (hdr + 1);
+ if (plen >= sizeof(*ehdr) && ehdr->code == EAP_CODE_RESPONSE &&
+ sm->SUPP_PAE_state == SUPP_PAE_CONNECTING) {
+ wpa_printf(MSG_DEBUG, "EAPOL: Ignore EAP packet with response when connecting workaround %d",sm->conf.workaround);
+ break;
+ }
+ }
if (sm->cached_pmk) {
/* Trying to use PMKSA caching, but Authenticator did