Skip to contentSkip to conversation

mac80211: fix rx->key NULL pointer dereference in promiscuous mode

PATCH New Stanislaw Gruszka 1 participant 1 message Jan 11, 2012 mac80211

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mac80211: fix rx->key NULL pointer dereference in promiscuous mode

Since:

commit 816c04fe7ef01dd9649f5ccfe796474db8708be5

Author: Christian Lamparter <[email protected]>
Date:   Sat Apr 30 15:24:30 2011 +0200

mac80211: consolidate MIC failure report handling

is possible to that we dereference rx->key == NULL when driver set RX_FLAG_MMIC_STRIPPED and not RX_FLAG_IV_STRIPPED and we are in promiscuous mode. This happen with rt73usb and rt61pci at least.

Before the commit we always check rx->key against NULL, so I assume fix should be done in mac80211 (also mic_fail path has similar check).

References:
https://bugzilla.redhat.com/show_bug.cgi?id=769766
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2012-January/004395.html

---
 net/mac80211/wpa.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/mac80211/wpa.c +1 -1
index 93aab07..422b798 100644
@@ -106,7 +106,7 @@ ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx)
 		if (status->flag & RX_FLAG_MMIC_ERROR)
 			goto mic_fail;
 
-		if (!(status->flag & RX_FLAG_IV_STRIPPED))
+		if (!(status->flag & RX_FLAG_IV_STRIPPED) && rx->key)
 			goto update_iv;
 
 		return RX_CONTINUE;
Signature · 1 line
1.7.1