Linux: wifi: ath11k: fix invalid data access in ath11k_dp_rx_h_undecap_nwifi
What fixes it
- 958cf3696ddc5ccafd3d0b8b0c03d90bcd771c0cLinuxCVE List
- 1c0a13be76db3c1cf774aa11d9f4c3f8239ac567LinuxCVE List
- 00738665c875ab34efa7126ea63c9d70b48ee169LinuxCVE List
- 6b471e9aefee9ed73278eb1141e0d8530a56fae9LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath11k: fix invalid data access in ath11k_dp_rx_h_undecap_nwifi
In certain cases, hardware might provide packets with a length greater than the maximum native Wi-Fi header length. This can lead to accessing and modifying fields in the header within the ath11k_dp_rx_h_undecap_nwifi() function for the DP_RX_DECAP_TYPE_NATIVE_WIFI decap type and potentially result in invalid data access and memory corruption.
Kernel stack is corrupted in: ath11k_dp_rx_h_undecap+0x6b0/0x6b0 [ath11k] Call trace: ath11k_dp_rx_h_mpdu+0x0/0x2e8 [ath11k] ath11k_dp_rx_h_mpdu+0x1e0/0x2e8 [ath11k] ath11k_dp_rx_wbm_err+0x1e0/0x450 [ath11k] ath11k_dp_rx_process_wbm_err+0x2fc/0x460 [ath11k] ath11k_dp_service_srng+0x2e0/0x348 [ath11k]
Add a sanity check before processing the SKB to prevent invalid data access in the undecap native Wi-Fi function for the DP_RX_DECAP_TYPE_NATIVE_WIFI decap type.
This adapted from the discussion/patch of the ath12k driver [1].
Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04685-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
Text from CVE List
Affected versions 12
- Linuxaffected: acc79d981c1462b22a7a2cb0d39725f8c01fc425 before 958cf3696ddc5ccafd3d0b8b0c03d90bcd771c0cCVE List
- Linuxaffected: acc79d981c1462b22a7a2cb0d39725f8c01fc425 before b4ef30f1d107aae460edf731a7c2d187fbc46a32CVE List
- Linuxaffected: acc79d981c1462b22a7a2cb0d39725f8c01fc425 before 1c0a13be76db3c1cf774aa11d9f4c3f8239ac567CVE List
- Linuxaffected: acc79d981c1462b22a7a2cb0d39725f8c01fc425 before 00738665c875ab34efa7126ea63c9d70b48ee169CVE List
- Linuxaffected: acc79d981c1462b22a7a2cb0d39725f8c01fc425 before 6b471e9aefee9ed73278eb1141e0d8530a56fae9CVE List
- Linuxaffected: 5.7CVE List
- Linuxunaffected: all versions before 5.7CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2CVE List
References 5
- git.kernel.org/stable/c/958cf3696ddc5ccafd3d0b8b0c03d90bcd771c0cReferencevia CVE List
- git.kernel.org/stable/c/b4ef30f1d107aae460edf731a7c2d187fbc46a32Referencevia CVE List
- git.kernel.org/stable/c/1c0a13be76db3c1cf774aa11d9f4c3f8239ac567Referencevia CVE List
- git.kernel.org/stable/c/00738665c875ab34efa7126ea63c9d70b48ee169Referencevia CVE List
- git.kernel.org/stable/c/6b471e9aefee9ed73278eb1141e0d8530a56fae9Referencevia CVE List