Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Lee Gibson <leegib@gmail.com>, Kalle Valo <kvalo@codeaurora.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 29/45] wl1251: Fix possible buffer overflow in wl1251_cmd_scan
Date: Tue,  6 Jul 2021 07:27:33 -0400	[thread overview]
Message-ID: <20210706112749.2065541-29-sashal@kernel.org> (raw)
In-Reply-To: <20210706112749.2065541-1-sashal@kernel.org>

From: Lee Gibson <leegib@gmail.com>

[ Upstream commit d10a87a3535cce2b890897914f5d0d83df669c63 ]

Function wl1251_cmd_scan calls memcpy without checking the length.
Harden by checking the length is within the maximum allowed size.

Signed-off-by: Lee Gibson <leegib@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210428115508.25624-1-leegib@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/wireless/ti/wl1251/cmd.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ti/wl1251/cmd.c b/drivers/net/wireless/ti/wl1251/cmd.c
index 9547aea01b0f..ea0215246c5c 100644
--- a/drivers/net/wireless/ti/wl1251/cmd.c
+++ b/drivers/net/wireless/ti/wl1251/cmd.c
@@ -466,9 +466,12 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
 		cmd->channels[i].channel = channels[i]->hw_value;
 	}
 
-	cmd->params.ssid_len = ssid_len;
-	if (ssid)
-		memcpy(cmd->params.ssid, ssid, ssid_len);
+	if (ssid) {
+		int len = clamp_val(ssid_len, 0, IEEE80211_MAX_SSID_LEN);
+
+		cmd->params.ssid_len = len;
+		memcpy(cmd->params.ssid, ssid, len);
+	}
 
 	ret = wl1251_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd));
 	if (ret < 0) {
-- 
2.30.2


  parent reply	other threads:[~2021-07-06 11:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210706112749.2065541-1-sashal@kernel.org>
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 05/45] net: pch_gbe: Use proper accessors to BE data in pch_ptp_match() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 07/45] atm: iphase: fix possible use-after-free in ia_module_exit() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 08/45] mISDN: fix possible use-after-free in HFC_cleanup() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 09/45] atm: nicstar: Fix possible use-after-free in nicstar_cleanup() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 10/45] net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 15/45] e100: handle eeprom as little endian Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 18/45] ipv6: use prandom_u32() for ID generation Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 21/45] virtio_net: Remove BUG() to avoid machine dead Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 22/45] net: bcmgenet: check return value after calling platform_get_resource() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 23/45] net: micrel: " Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 24/45] net: moxa: Use devm_platform_get_and_ioremap_resource() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 25/45] fjes: check return value after calling platform_get_resource() Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 27/45] xfrm: Fix error reporting in xfrm_state_construct Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 28/45] wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP Sasha Levin
2021-07-06 11:27 ` Sasha Levin [this message]
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 30/45] cw1200: add missing MODULE_DEVICE_TABLE Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 32/45] atm: nicstar: use 'dma_free_coherent' instead of 'kfree' Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 33/45] atm: nicstar: register the interrupt handler in the right place Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 34/45] vsock: notify server to shutdown when client has pending signal Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 36/45] iwlwifi: mvm: don't change band on bound PHY contexts Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 37/45] sfc: avoid double pci_remove of VFs Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 38/45] sfc: error code if SRIOV cannot be disabled Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 39/45] wireless: wext-spy: Fix out-of-bounds warning Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 41/45] Bluetooth: Fix the HCI to MGMT status conversion table Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 42/45] Bluetooth: Shutdown controller after workqueues are flushed or cancelled Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 44/45] sctp: validate from_addr_param return Sasha Levin
2021-07-06 11:27 ` [PATCH AUTOSEL 4.14 45/45] sctp: add size validation when walking chunks Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210706112749.2065541-29-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=kvalo@codeaurora.org \
    --cc=leegib@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --subject='Re: [PATCH AUTOSEL 4.14 29/45] wl1251: Fix possible buffer overflow in wl1251_cmd_scan' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).