Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
@ 2022-04-09  6:12 Dan Carpenter
  2022-04-09  7:53 ` Oleksij Rempel
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Dan Carpenter @ 2022-04-09  6:12 UTC (permalink / raw)
  To: Toke Høiland-Jørgensen, Oleksij Rempel
  Cc: Kalle Valo, Jakub Kicinski, Paolo Abeni, John W. Linville,
	linux-wireless, kernel-janitors

The "rxstatus->rs_keyix" eventually gets passed to test_bit() so we need to
ensure that it is within than bitmap.

drivers/net/wireless/ath/ath9k/common.c:46 ath9k_cmn_rx_accept()
error: passing untrusted data 'rx_stats->rs_keyix' to 'test_bit()'

Fixes: 4ed1a8d4a257 ("ath9k_htc: use ath9k_cmn_rx_accept")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 6a850a0bfa8a..a23eaca0326d 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -1016,6 +1016,14 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
 		goto rx_next;
 	}
 
+	if (rxstatus->rs_keyix >= ATH_KEYMAX &&
+	    rxstatus->rs_keyix != ATH9K_RXKEYIX_INVALID) {
+		ath_dbg(common, ANY,
+			"Invalid keyix, dropping (keyix: %d)\n",
+			rxstatus->rs_keyix);
+		goto rx_next;
+	}
+
 	/* Get the RX status information */
 
 	memset(rx_status, 0, sizeof(struct ieee80211_rx_status));
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-04-23  9:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-09  6:12 [PATCH] ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix Dan Carpenter
2022-04-09  7:53 ` Oleksij Rempel
2022-04-11  7:54   ` Dan Carpenter
2022-04-11 10:24     ` Oleksij Rempel
2022-04-09 21:37 ` Toke Høiland-Jørgensen
2022-04-12 13:26   ` Kalle Valo
2022-04-12 13:29     ` Dan Carpenter
2022-04-23  9:32 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox