Patch "brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()" has been added to the 4.4-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.4-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.4 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
8f44c9a41386729fea410e688959ddaa9d51be7cMon Sep 17 00:00:00 2001
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()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Arend van Spriel <[email protected]>
commit 8f44c9a41386729fea410e688959ddaa9d51be7c upstream.
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/brcm80211/brcmfmac/cfg80211.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c +5 -0
@@ -4472,6 +4472,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.4/brcmfmac-fix-possible-buffer-overflow-in-brcmf_cfg80211_mgmt_tx.patch