mwifiex: Fix possible buffer overflows at parsing bss descriptor (CVE-2019-3846)
This commit is contained in:
parent
ff251104cb
commit
54fa813858
|
@ -8,6 +8,8 @@ linux (4.19.37-4) UNRELEASED; urgency=medium
|
||||||
- libbpf: Build out-of-tree
|
- libbpf: Build out-of-tree
|
||||||
* README.source: Document the various makefiles and use of out-of-tree builds
|
* README.source: Document the various makefiles and use of out-of-tree builds
|
||||||
* [x86] lockdown,sysrq: Enable ALLOW_LOCKDOWN_LIFT_BY_SYSRQ (Closes: #929583)
|
* [x86] lockdown,sysrq: Enable ALLOW_LOCKDOWN_LIFT_BY_SYSRQ (Closes: #929583)
|
||||||
|
* mwifiex: Fix possible buffer overflows at parsing bss descriptor
|
||||||
|
(CVE-2019-3846)
|
||||||
|
|
||||||
[ Romain Perier ]
|
[ Romain Perier ]
|
||||||
* [rt] Update to 4.19.37-rt20
|
* [rt] Update to 4.19.37-rt20
|
||||||
|
|
44
debian/patches/bugfix/all/mwifiex-fix-possible-buffer-overflows-at-parsing-bss.patch
vendored
Normal file
44
debian/patches/bugfix/all/mwifiex-fix-possible-buffer-overflows-at-parsing-bss.patch
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
From: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Date: Wed, 29 May 2019 14:52:19 +0200
|
||||||
|
Subject: mwifiex: Fix possible buffer overflows at parsing bss descriptor
|
||||||
|
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git/commit?id=13ec7f10b87f5fc04c4ccbd491c94c7980236a74
|
||||||
|
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-3846
|
||||||
|
|
||||||
|
mwifiex_update_bss_desc_with_ie() calls memcpy() unconditionally in
|
||||||
|
a couple places without checking the destination size. Since the
|
||||||
|
source is given from user-space, this may trigger a heap buffer
|
||||||
|
overflow.
|
||||||
|
|
||||||
|
Fix it by putting the length check before performing memcpy().
|
||||||
|
|
||||||
|
This fix addresses CVE-2019-3846.
|
||||||
|
|
||||||
|
Reported-by: huangwen <huangwen@venustech.com.cn>
|
||||||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
||||||
|
---
|
||||||
|
drivers/net/wireless/marvell/mwifiex/scan.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||||
|
index 935778ec9a1b..64ab6fe78c0d 100644
|
||||||
|
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||||
|
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
|
||||||
|
@@ -1247,6 +1247,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||||
|
}
|
||||||
|
switch (element_id) {
|
||||||
|
case WLAN_EID_SSID:
|
||||||
|
+ if (element_len > IEEE80211_MAX_SSID_LEN)
|
||||||
|
+ return -EINVAL;
|
||||||
|
bss_entry->ssid.ssid_len = element_len;
|
||||||
|
memcpy(bss_entry->ssid.ssid, (current_ptr + 2),
|
||||||
|
element_len);
|
||||||
|
@@ -1256,6 +1258,8 @@ int mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
||||||
|
break;
|
||||||
|
|
||||||
|
case WLAN_EID_SUPP_RATES:
|
||||||
|
+ if (element_len > MWIFIEX_SUPPORTED_RATES)
|
||||||
|
+ return -EINVAL;
|
||||||
|
memcpy(bss_entry->data_rates, current_ptr + 2,
|
||||||
|
element_len);
|
||||||
|
memcpy(bss_entry->supported_rates, current_ptr + 2,
|
|
@ -217,6 +217,7 @@ bugfix/all/brcmfmac-assure-SSID-length-from-firmware-is-limited.patch
|
||||||
bugfix/all/brcmfmac-add-subtype-check-for-event-handling-in-dat.patch
|
bugfix/all/brcmfmac-add-subtype-check-for-event-handling-in-dat.patch
|
||||||
bugfix/all/ext4-zero-out-the-unused-memory-region-in-the-extent.patch
|
bugfix/all/ext4-zero-out-the-unused-memory-region-in-the-extent.patch
|
||||||
bugfix/all/Bluetooth-hidp-fix-buffer-overflow.patch
|
bugfix/all/Bluetooth-hidp-fix-buffer-overflow.patch
|
||||||
|
bugfix/all/mwifiex-fix-possible-buffer-overflows-at-parsing-bss.patch
|
||||||
|
|
||||||
# Fix exported symbol versions
|
# Fix exported symbol versions
|
||||||
bugfix/all/module-disable-matching-missing-version-crc.patch
|
bugfix/all/module-disable-matching-missing-version-crc.patch
|
||||||
|
|
Loading…
Reference in New Issue