Control: tags 981971 + patch
Control: tags 981971 + pending

Dear maintainer,

I've prepared an NMU for wpa (versioned as 2:2.9.0-16.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards,
Salvatore
diff -Nru wpa-2.9.0/debian/changelog wpa-2.9.0/debian/changelog
--- wpa-2.9.0/debian/changelog	2020-11-30 10:02:04.000000000 +0100
+++ wpa-2.9.0/debian/changelog	2021-02-06 17:27:31.000000000 +0100
@@ -1,3 +1,11 @@
+wpa (2:2.9.0-16.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * P2P: Fix copying of secondary device types for P2P group client
+    (CVE-2021-0326) (Closes: #981971)
+
+ -- Salvatore Bonaccorso <car...@debian.org>  Sat, 06 Feb 2021 17:27:31 +0100
+
 wpa (2:2.9.0-16) unstable; urgency=high
 
   * Restrict eapoltest to linux-any kfreebsd-any.
diff -Nru wpa-2.9.0/debian/patches/series wpa-2.9.0/debian/patches/series
--- wpa-2.9.0/debian/patches/series	2020-11-30 10:02:04.000000000 +0100
+++ wpa-2.9.0/debian/patches/series	2021-02-06 17:27:31.000000000 +0100
@@ -20,5 +20,6 @@
 upstream-fixes/0008-Ignore-Management-frames-while-AP-interface-is-not-f.patch
 upstream-fixes/0009-D-Bus-Increase-introspection-buffer-size.patch
 upstream-fixes/0010-P2P-Limit-P2P_DEVICE-name-to-appropriate-ifname-size.patch
+upstream-fixes/0011-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch
 proposed-fixes/hostapd-does-not-update-WPS-credentials-on-SIGHUP.patch
 proposed-fixes/hostapd-Fix-error-message-for-radius_accept_attr-config-option.patch
diff -Nru wpa-2.9.0/debian/patches/upstream-fixes/0011-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch wpa-2.9.0/debian/patches/upstream-fixes/0011-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch
--- wpa-2.9.0/debian/patches/upstream-fixes/0011-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch	1970-01-01 01:00:00.000000000 +0100
+++ wpa-2.9.0/debian/patches/upstream-fixes/0011-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch	2021-02-06 17:27:31.000000000 +0100
@@ -0,0 +1,39 @@
+From: Jouni Malinen <jo...@codeaurora.org>
+Date: Mon, 9 Nov 2020 11:43:12 +0200
+Subject: P2P: Fix copying of secondary device types for P2P group client
+Origin: https://w1.fi/cgit/hostap/commit/?id=947272febe24a8f0ea828b5b2f35f13c3821901e
+Bug-Debian: https://bugs.debian.org/981971
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-0326
+
+Parsing and copying of WPS secondary device types list was verifying
+that the contents is not too long for the internal maximum in the case
+of WPS messages, but similar validation was missing from the case of P2P
+group information which encodes this information in a different
+attribute. This could result in writing beyond the memory area assigned
+for these entries and corrupting memory within an instance of struct
+p2p_device. This could result in invalid operations and unexpected
+behavior when trying to free pointers from that corrupted memory.
+
+Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27269
+Fixes: e57ae6e19edf ("P2P: Keep track of secondary device types for peers")
+Signed-off-by: Jouni Malinen <jo...@codeaurora.org>
+---
+ src/p2p/p2p.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
+index 74b7b52ae05c..5cbfc217fc1f 100644
+--- a/src/p2p/p2p.c
++++ b/src/p2p/p2p.c
+@@ -453,6 +453,8 @@ static void p2p_copy_client_info(struct p2p_device *dev,
+ 	dev->info.config_methods = cli->config_methods;
+ 	os_memcpy(dev->info.pri_dev_type, cli->pri_dev_type, 8);
+ 	dev->info.wps_sec_dev_type_list_len = 8 * cli->num_sec_dev_types;
++	if (dev->info.wps_sec_dev_type_list_len > WPS_SEC_DEV_TYPE_MAX_LEN)
++		dev->info.wps_sec_dev_type_list_len = WPS_SEC_DEV_TYPE_MAX_LEN;
+ 	os_memcpy(dev->info.wps_sec_dev_type_list, cli->sec_dev_types,
+ 		  dev->info.wps_sec_dev_type_list_len);
+ }
+-- 
+2.30.0
+

Reply via email to