brcmfmac: avoid potential stack overflow in brcmf_cfg80211_start_ap()
authorArend Van Spriel <arend.vanspriel@broadcom.com>
Mon, 5 Sep 2016 09:45:47 +0000 (10:45 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 Feb 2017 10:03:50 +0000 (11:03 +0100)
commitec38771b3fe78a386577905bbbd71b1bf8bde860
tree87b4ab4768d4ecdda24e01447a53acd6b6ac329f
parent3e56d9852d8b7e3c5d26d3a872795af523d7a2d8
brcmfmac: avoid potential stack overflow in brcmf_cfg80211_start_ap()

commit ded89912156b1a47d940a0c954c43afbabd0c42c upstream.

User-space can choose to omit NL80211_ATTR_SSID and only provide raw
IE TLV data. When doing so it can provide SSID IE with length exceeding
the allowed size. The driver further processes this IE copying it
into a local variable without checking the length. Hence stack can be
corrupted and used as exploit.

Reported-by: Daxing Guo <freener.gdx@gmail.com>
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c