Description
In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix overreads in ath11k_wmi_process_csa_switch_count_event() There is no policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT, so the parse infrastructure does not enforce a minimum length for the event struct. Additionally, the num_vdevs field is taken directly from firmware and used as a loop bound over the vdev_ids array without checking that it fits within the TLV payload. Either condition can cause an out-of-bounds read. Add a TLV policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT so the parse infrastructure enforces a minimum length for the fixed-size event struct. Add a helper ath11k_wmi_tlv_data_len() to recover the payload length of a parsed TLV from the header preceding its data pointer. Use it in ath11k_wmi_process_csa_switch_count_event() to bound num_vdevs before the loop. Compile tested only.
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
d5c65159f2895379e11ca13f62feabe93278985d to < 57e77a6d900e5bc6e73ccd3ee1ba3bce834c9ddeaffectedd5c65159f2895379e11ca13f62feabe93278985d to < f760b7d7e43584d2fa9bffcec1a04e502609f827affectedd5c65159f2895379e11ca13f62feabe93278985d to < d6625dc5f1fe42cd81b8c57a1f5317afb9b410ceaffectedd5c65159f2895379e11ca13f62feabe93278985d to < 0364926fb4bfb5b798e5fe2785b3023b4f767327affectedd5c65159f2895379e11ca13f62feabe93278985d to < 5de2b8c53714ad58f2fda118cd29ebbe31b38665affectedd5c65159f2895379e11ca13f62feabe93278985d to < 208d7fdb85976a737a715b81d54efaff6703880caffected
Linux Linux
Default version status: affected
5.6affected0 to < 5.6unaffected6.1.191 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/57e77a6d900e5bc6e73ccd3ee1ba3bce834c9dde ↗
- https://git.kernel.org/stable/c/f760b7d7e43584d2fa9bffcec1a04e502609f827 ↗
- https://git.kernel.org/stable/c/d6625dc5f1fe42cd81b8c57a1f5317afb9b410ce ↗
- https://git.kernel.org/stable/c/0364926fb4bfb5b798e5fe2785b3023b4f767327 ↗
- https://git.kernel.org/stable/c/5de2b8c53714ad58f2fda118cd29ebbe31b38665 ↗
- https://git.kernel.org/stable/c/208d7fdb85976a737a715b81d54efaff6703880c ↗