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)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 7 Sep 2016 13:43:50 +0000 (16:43 +0300)
commitded89912156b1a47d940a0c954c43afbabd0c42c
treee46601d21d00ac4cd15e3f199aed6e9bb2b76bed
parenta9840c46ff9bb845d62d6f9592ab76c0e531c8f4
brcmfmac: avoid potential stack overflow in brcmf_cfg80211_start_ap()

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.

Cc: stable@vger.kernel.org # v4.7
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>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c