Description
In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix peer HE MCS assignment In ath11k_wmi_send_peer_assoc_cmd(), peer's transmit MCS is sent to firmware as receive MCS while peer's receive MCS sent as transmit MCS, which goes against firmwire's definition. While connecting to a misbehaved AP that advertises 0xffff (meaning not supported) for 160 MHz transmit MCS map, firmware crashes due to 0xffff is assigned to he_mcs->rx_mcs_set field. Ext Tag: HE Capabilities [...] Supported HE-MCS and NSS Set [...] Rx and Tx MCS Maps 160 MHz [...] Tx HE-MCS Map 160 MHz: 0xffff Swap the assignment to fix this issue. As the HE rate control mask is meant to limit our own transmit MCS, it needs to go via he_mcs->rx_mcs_set field. With the aforementioned swapping done, change is needed as well to apply it to the peer's receive MCS. Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
61fe43e7216df6e9a912d831aafc7142fa20f280 to < 92791290e4f6a1de25d35af792ab8918a70737f6affected61fe43e7216df6e9a912d831aafc7142fa20f280 to < 4304bd7a334e981f189b9973056a58f84cc2b482affected61fe43e7216df6e9a912d831aafc7142fa20f280 to < 097c870b91817779e5a312c6539099a884b1fe2baffected61fe43e7216df6e9a912d831aafc7142fa20f280 to < 381096a417b7019896e93e86f4c585c592bf98e2affected61fe43e7216df6e9a912d831aafc7142fa20f280 to < 6b1a0da75932353f66e710976ca85a7131f647ffaffected61fe43e7216df6e9a912d831aafc7142fa20f280 to < 4a013ca2d490c73c40588d62712ffaa432046a04affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.160 to ≤ 6.1.*unaffected6.6.120 to ≤ 6.6.*unaffected6.12.63 to ≤ 6.12.*unaffected6.17.13 to ≤ 6.17.*unaffected6.18.2 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/92791290e4f6a1de25d35af792ab8918a70737f6 ↗
- https://git.kernel.org/stable/c/4304bd7a334e981f189b9973056a58f84cc2b482 ↗
- https://git.kernel.org/stable/c/097c870b91817779e5a312c6539099a884b1fe2b ↗
- https://git.kernel.org/stable/c/381096a417b7019896e93e86f4c585c592bf98e2 ↗
- https://git.kernel.org/stable/c/6b1a0da75932353f66e710976ca85a7131f647ff ↗
- https://git.kernel.org/stable/c/4a013ca2d490c73c40588d62712ffaa432046a04 ↗