]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: fix use-after-free in CCMP/GCMP RX
authorJohannes Berg <johannes.berg@intel.com>
Mon, 27 Sep 2021 09:58:39 +0000 (11:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 6 Oct 2021 13:42:31 +0000 (15:42 +0200)
commitc979e0f6a20cb8a28f790c3f27cabb711f1ea13d
tree88d5e973a8b6715582fc7958bdc10e09163a426b
parent5533db8584bb876d60b8d690dce4249cf66b38e7
mac80211: fix use-after-free in CCMP/GCMP RX

commit 94513069eb549737bcfc3d988d6ed4da948a2de8 upstream.

When PN checking is done in mac80211, for fragmentation we need
to copy the PN to the RX struct so we can later use it to do a
comparison, since commit 70af0b406a8b ("mac80211: check defrag
PN against current frame").

Unfortunately, in that commit I used the 'hdr' variable without
it being necessarily valid, so use-after-free could occur if it
was necessary to reallocate (parts of) the frame.

Fix this by reloading the variable after the code that results
in the reallocations, if any.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=214401.

Cc: stable@vger.kernel.org
Fixes: 70af0b406a8b ("mac80211: check defrag PN against current frame")
Link: https://lore.kernel.org/r/20210927115838.12b9ac6bb233.I1d066acd5408a662c3b6e828122cd314fcb28cdb@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/wpa.c