UPSTREAM: nl80211: check for the required netlink attributes presence

nl80211_set_rekey_data() does not check if the required attributes
NL80211_REKEY_DATA_{REPLAY_CTR,KEK,KCK} are present when processing
NL80211_CMD_SET_REKEY_OFFLOAD request. This request can be issued by
users with CAP_NET_ADMIN privilege and may result in NULL dereference
and a system crash. Add a check for the required attributes presence.
This patch is based on the patch by bo Zhang.

This fixes CVE-2017-12153.

BUG=chromium:771932
TEST=Build and run

Change-Id: I0d6e494243637e3f0d067700ef93b7ef3f93e52a
References: https://bugzilla.redhat.com/show_bug.cgi?id=1491046
Fixes: e5497d766ad ("cfg80211/nl80211: support GTK rekey offload")
Cc: <stable@vger.kernel.org> # v3.1-rc1
Reported-by: bo Zhang <zhangbo5891001@gmail.com>
Signed-off-by: Vladis Dronov <vdronov@redhat.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Guenter Roeck <groeck@chromium.org>
(cherry picked from commit e785fa0a164aa)
Reviewed-on: https://chromium-review.googlesource.com/702717
Reviewed-by: Brian Norris <briannorris@chromium.org>
(cherry picked from commit 7a4d129fdf8a31775118081b00f69efed19bd89b)
Reviewed-on: https://chromium-review.googlesource.com/707504
1 file changed