CVE-2026-93271: wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate
ath11k can receive HT/VHT/HE frames whose reported MCS is above the maximum that can be expressed in the corresponding mac80211 rate space (e.g. an HE frame reported with MCS 12, while HE tops out at MCS 11).
The frame itself is valid and decodes correctly, but for such a frame ath11kdprxhrate() leaves rxstatus->rateidx set to the out-of-range value and never assigns rxstatus->encoding, so it stays RXENCLEGACY from the ath11kdprxhppdu() initialization. Once that frame reaches mac80211 it trips the rate sanity check and the frame is dropped with a splat:
ath11kpci 0000:03:00.0: Received with invalid mcs in HE mode 12 WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:5433 ieee80211rxlist+0xb0a/0xe90 [mac80211]
Dropping the frame would discard otherwise valid data, so instead cap the reported MCS to the maximum the rate space can express and deliver the frame. Set rxstatus->encoding before the range check and assign rateidx from the capped value, so a frame with an out-of-range MCS no longer leaves partial or bogus rate metadata behind. Also downgrade the logging level since they are not treated as invalid frames now. The only loss is that such a frame is reported as the capped MCS in the rx rate statistics.
Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPLV1V2SILICONZLITE-3.6510.41
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel ath11k Wi-Fi driver are affected when they receive HT, VHT, or HE frames reported with an MCS value above the maximum representable by the corresponding mac80211 rate space.
How can I tell whether the issue is occurring?
Kernel logs can show a mac80211 rate-sanity warning such as “Received with invalid mcs in HE mode 12,” followed by the frame being dropped. The warning may identify the ath11k PCI device.