openwrt/package/network/services
Stefan Lippers-Hollmann 4b19b2db78 hostapd: P2P: Fix a corner case in peer addition based on PD Request
p2p_add_device() may remove the oldest entry if there is no room in the
peer table for a new peer. This would result in any pointer to that
removed entry becoming stale. A corner case with an invalid PD Request
frame could result in such a case ending up using (read+write) freed
memory. This could only by triggered when the peer table has reached its
maximum size and the PD Request frame is received from the P2P Device
Address of the oldest remaining entry and the frame has incorrect P2P
Device Address in the payload.

Fix this by fetching the dev pointer again after having called
p2p_add_device() so that the stale pointer cannot be used.

This fixes the following security vulnerabilities/bugs:

- CVE-2021-27803 - A vulnerability was discovered in how p2p/p2p_pd.c
  in wpa_supplicant before 2.10 processes P2P (Wi-Fi Direct) provision
  discovery requests. It could result in denial of service or other
  impact (potentially execution of arbitrary code), for an attacker
  within radio range.

Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
(cherry picked from commit 1ca5de13a1)
2021-03-06 15:48:43 +01:00
..
dnsmasq dnsmasq: backport fixes 2021-01-24 17:42:53 +01:00
dropbear dropbear: allow build without dbclient 2019-04-18 22:34:19 +02:00
ead ead: use new protocol setting API since libpcap 1.9.0 2018-07-27 11:17:20 +02:00
hostapd hostapd: P2P: Fix a corner case in peer addition based on PD Request 2021-03-06 15:48:43 +01:00
igmpproxy igmpproxy: drop SSDP packets 2018-07-30 10:43:36 +02:00
ipset-dns ipset-dns: bump to git HEAD 2017-10-08 20:51:03 +03:00
lldpd lldpd: add option to edit hostname 2019-05-11 16:37:11 +02:00
odhcpd opkg: Fix PKG_MIRROR_HASH 2020-05-08 20:35:50 +02:00
omcproxy omcproxy: define configuration file 2019-02-27 10:26:14 +01:00
openvpn build: include BUILD_VARIANT in PKG_BUILD_DIR 2019-09-04 13:35:17 +02:00
openvpn-easy-rsa openvpn-easy-rsa: update to 3.0.4 2018-07-30 10:43:38 +02:00
ppp ppp: backport security fixes 2020-02-26 16:40:43 +01:00
relayd relayd: bump to version 2020-04-25 2020-04-27 10:58:16 +01:00
samba36 samba36: allow build with no ipv6 support 2019-02-17 19:22:39 +01:00
uhttpd uhttpd: update to 19.07 Git HEAD 2020-11-20 22:53:04 +01:00
umdns umdns: update to version 2020-04-25 2020-04-27 10:58:15 +01:00
wireguard wireguard: Fix compile with kernel 4.14.217 2021-01-29 21:12:43 +01:00