]> 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)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 27 Sep 2021 09:59:49 +0000 (11:59 +0200)
commitb6391f6521329744011801c329e32a2851ddd30e
treea5ddc800d86b21eb398056f8d287ed7e238769ad
parent71c7d31e66d46482d3837a293f20c473fe02ae91
mac80211: fix use-after-free in CCMP/GCMP RX

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>
net/mac80211/wpa.c