mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings
authorWen Huang <huangwenabc@gmail.com>
Wed, 28 Aug 2019 02:07:51 +0000 (10:07 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 23 Sep 2019 20:12:11 +0000 (21:12 +0100)
commitfb8186b15518423646f0e2105c34b3e620623b4e
tree10f420377e33ae48799c52e07215f02d367ca605
parente58e542e6eab2734dda4e5006d9ec3226fddd4c1
mwifiex: Fix three heap overflow at parsing element in cfg80211_ap_settings

commit 7caac62ed598a196d6ddf8d9c121e12e082cac3a upstream.

mwifiex_update_vs_ie(),mwifiex_set_uap_rates() and
mwifiex_set_wmm_params() call memcpy() without checking
the destination size.Since the source is given from
user-space, this may trigger a heap buffer overflow.

Fix them by putting the length check before performing memcpy().

This fix addresses CVE-2019-14814,CVE-2019-14815,CVE-2019-14816.

Signed-off-by: Wen Huang <huangwenabc@gmail.com>
Acked-by: Ganapathi Bhat <gbhat@marvell.comg>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
[bwh: Backported to 3.16: adjust filenames]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/wireless/mwifiex/ie.c
drivers/net/wireless/mwifiex/uap_cmd.c