Bug 2536570 (CVE-2026-90407) - CVE-2026-90407 kernel: wifi: ath11k: fix overreads in ath11k_wmi_process_csa_switch_count_event()
Summary: CVE-2026-90407 kernel: wifi: ath11k: fix overreads in ath11k_wmi_process_csa_...
Keywords:
Status: NEW
Alias: CVE-2026-90407
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-17 18:27 UTC by OSIDB Bzimport
Modified: 2026-09-23 12:56 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-17 18:27:36 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.