• R/O
  • HTTP
  • SSH
  • HTTPS

kernel_xiaomi_msm8998: 提交

Mirror: https://github.com/0ranko0P/kernel_xiaomi_msm8998/


Commit MetaInfo

修订版91b836b01c788932d86a448d26561740d22e7c9b (tree)
时间2020-02-15 06:30:02
作者Qing Xu <m1s5p6688@gmai...>
CommiterGreg Kroah-Hartman

Log Message

mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()

[ Upstream commit 3a9b153c5591548612c3955c9600a98150c81875 ]

mwifiex_ret_wmm_get_status() calls memcpy() without checking the
destination size.Since the source is given from remote AP which
contains illegal wmm elements , this may trigger a heap buffer
overflow.
Fix it by putting the length check before calling memcpy().

Signed-off-by: Qing Xu <m1s5p6688@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

更改概述

差异

--- a/drivers/net/wireless/mwifiex/wmm.c
+++ b/drivers/net/wireless/mwifiex/wmm.c
@@ -978,6 +978,10 @@ int mwifiex_ret_wmm_get_status(struct mwifiex_private *priv,
978978 "WMM Parameter Set Count: %d\n",
979979 wmm_param_ie->qos_info_bitmap & mask);
980980
981+ if (wmm_param_ie->vend_hdr.len + 2 >
982+ sizeof(struct ieee_types_wmm_parameter))
983+ break;
984+
981985 memcpy((u8 *) &priv->curr_bss_params.bss_descriptor.
982986 wmm_ie, wmm_param_ie,
983987 wmm_param_ie->vend_hdr.len + 2);
Show on old repository browser