Patch "brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()" has been added to the 4.12-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
brcmfmac-fix-possible-buffer-overflow-in-brcmf_cfg80211_mgmt_tx.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Jul 17 18:46:41 CEST 2017
From: Arend van Spriel <[email protected]>
Date: Fri, 7 Jul 2017 21:09:06 +0100
Subject: brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()
From: Arend van Spriel <[email protected]>
[ Upstream commit 8f44c9a41386729fea410e688959ddaa9d51be7c ]
The lower level nl80211 code in cfg80211 ensures that "len" is between 25 and NL80211_ATTR_FRAME (2304). We subtract DOT11_MGMT_HDR_LEN (24) from "len" so thats's max of 2280. However, the action_frame->data[] buffer is only BRCMF_FIL_ACTION_FRAME_SIZE (1800) bytes long so this memcpy() can overflow.
memcpy(action_frame->data, &buf[DOT11_MGMT_HDR_LEN], le16_to_cpu(action_frame->len));
--- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +5 -0
@@ -4851,6 +4851,11 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wipcfg80211_mgmt_tx_status (wdev, *cookie, buf, len, true,GFP_KERNEL ); }else if (ieee80211_is_action (mgmt->frame_control)) { +if (len >BRCMF_FIL_ACTION_FRAME_SIZE +DOT11_MGMT_HDR_LEN ) { +brcmf_err ("invalid action frame length\n" ); + err = -EINVAL ; + goto exit; + } af_params =kzalloc (sizeof (*af_params),GFP_KERNEL );if (af_params ==NULL ) {brcmf_err ("unable to allocate frame\n" );
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/brcmfmac-fix-possible-buffer-overflow-in-brcmf_cfg80211_mgmt_tx.patch