CVE-2026-90408 wifi: ath12k: fix overreads in ath12k_wmi_process_csa_switch_count_event()
An out-of-bounds read in the ath12k WiFi driver allows attackers to read kernel memory or cause a system crash via crafted firmware events.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-90408?
CVE-2026-90408 is a high-severity memory corruption vulnerability in Linux, published on 17 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: fix overreads in ath12k_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 ath12k_wmi_tlv_data_len() to recover the payload length of a parsed TLV from the header preceding its data pointer. Use it in ath12k_wmi_process_csa_switch_count_event() to bound num_vdevs before the loop.
Compile tested only.
Which versions are affected by CVE-2026-90408?
How do I fix CVE-2026-90408?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-90408 being exploited?
There is no known exploitation of CVE-2026-90408 in the wild and no public exploit code.
Sources
Also known as AZL-101915, BELL-CVE-2026-90408, DEBIAN-CVE-2026-90408, GHSA-f527-4pqf-x9g9, UBUNTU-CVE-2026-90408.