Prevent frame injection via forged 802.11n A-MSDUs.
authorstsp <stsp@openbsd.org>
Mon, 17 May 2021 08:02:20 +0000 (08:02 +0000)
committerstsp <stsp@openbsd.org>
Mon, 17 May 2021 08:02:20 +0000 (08:02 +0000)
commite12e039eea57d78605e08542b570756b41a2a610
treee05ddfa40a07399990e556cb405e5ce0a717de0c
parent2b983e2c1b8352cb592381057ea928e1e3be9865
Prevent frame injection via forged 802.11n A-MSDUs.

This mitigates an attack where a single 802.11 frame is interpreted as an
A-MSDU because of a forged AMSDU-present bit in the 802.11 QoS frame header.
See https://papers.mathyvanhoef.com/usenix2021.pdf section 3.2.

MAC address validation is added as an additional measure to prevent hostap
clients from sending A-MSDU subframes with a spoofed source address.

An earlier version of this patch was reviewed by Mathy Vanhoef, who spotted
a bug in my original attempt at preventing spoofed addresses.

ok mpi@
sys/net80211/ieee80211_input.c