Skip to main content
← All vulnerabilities
CVE-2026-90398

wifi: ath11k: fix stride mismatch in mac_phy_caps_parse()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.160, 6.12.110, 6.18.52, 7.2.6
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix stride mismatch in mac_phy_caps_parse() Currently, in ath11k_wmi_tlv_mac_phy_caps_parse(), kcalloc() sizes the mac_phy_caps buffer as tot_phy_id * len, where len is clamped to min(firmware_len, sizeof(struct wmi_mac_phy_capabilities)). The subsequent memcpy() destination advances by sizeof(full struct) per slot via C pointer arithmetic, not by the clamped len. When firmware sends short TLVs, the second and later slots are written past the end of the allocation. The reader in ath11k_pull_mac_phy_cap_svc_ready_ext() also indexes the buffer with full-struct pointer arithmetic, so the allocation must match that stride. Fix by using kzalloc_objs(), which derives the element size from the pointer type, making allocation size and pointer stride provably consistent regardless of what len the firmware provides. Compile tested only.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 5b90fc760db5a969ed26d70f8e62c91915f012bd · fixed in b2ecd548f89a4a6c14b5eb4abc825f92b3068dda; From 5b90fc760db5a969ed26d70f8e62c91915f012bd · fixed in bbb3b3334a9ed850c5b332eedea107796e691237; From 5b90fc760db5a969ed26d70f8e62c91915f012bd · fixed in 75185e2b214e842b7e0af29e5d1fef155662b8b1; From 5b90fc760db5a969ed26d70f8e62c91915f012bd · fixed in acff2713c3212ade15051e7b421f15c89927e70f; From 5b90fc760db5a969ed26d70f8e62c91915f012bd · fixed in 7a246c72132eb943b5844ba79dad597b47429dba

  • Linux Linux

    5.6

  • KernelLinux

    From 5.6.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 5

git.kernel.org