[PATCH] wifi: mac80211: disallow AP interface from getting BIGTK in RX path
Michael-CY Lee
michael-cy.lee at mediatek.com
Wed Jul 2 03:45:16 PDT 2025
The problem was that when the AP interface with BIGTK set received
beacons with MMIE from other BSSes, it tried to verify the MIC using its
BIGTK, which must fail and be notified to the upper layer by
cfg80211_rx_unprot_mlme_mgmt().
The solution is to prevent the AP interface from getting BIGTK in
the RX path, as the AP should only use the BIGTK to calculate the
beacon's MIC value.
Signed-off-by: Michael-CY Lee <michael-cy.lee at mediatek.com>
Reviewed-by: Money Wang <money.wang at mediatek.com>
---
net/mac80211/rx.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 7671fd39a60e..f2d63a7cc642 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1888,6 +1888,10 @@ ieee80211_rx_get_bigtk(struct ieee80211_rx_data *rx, int idx)
* index (i.e., a key that we do not have).
*/
+ /* AP interface sould not use BIGTK to decrypt */
+ if (rx->sdata->vif.type == NL80211_IFTYPE_AP)
+ return NULL;
+
if (idx < 0) {
idx = NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS;
idx2 = idx + 1;
--
2.25.1
More information about the Linux-mediatek
mailing list