{"id":"CVE-2026-90408","revision":"73148802d62b48508754d62ea0f0a30e","records":[{"revision":"73148802d62b48508754d62ea0f0a30e","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-90408","aliases":[],"title":"wifi: ath12k: fix overreads in ath12k_wmi_process_csa_switch_count_event()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: fix overreads in ath12k_wmi_process_csa_switch_count_event()\n\nThere is no policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT, so\nthe parse infrastructure does not enforce a minimum length for the event\nstruct. Additionally, the num_vdevs field is taken directly from firmware\nand used as a loop bound over the vdev_ids array without checking that it\nfits within the TLV payload. Either condition can cause an out-of-bounds\nread.\n\nAdd a TLV policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT so\nthe parse infrastructure enforces a minimum length for the fixed-size event\nstruct. Add a helper ath12k_wmi_tlv_data_len() to recover the payload\nlength of a parsed TLV from the header preceding its data pointer. Use it\nin ath12k_wmi_process_csa_switch_count_event() to bound num_vdevs before\nthe loop.\n\nCompile tested only.","state":0,"publishedAt":"2026-09-17T16:09:36.089+00:00","modifiedAt":"2026-10-21T12:51:31.378+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/wireless/ath/ath12k/wmi.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"d889913205cf7ebda905b1e62c5867ed4e39f6c2\",\n                            \"lessThan\": \"d4aec20f3a84634171c139ab2e02bb2e5a5c756b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d889913205cf7ebda905b1e62c5867ed4e39f6c2\",\n                            \"lessThan\": \"24f7cdabea9f7ab95dbd6d8bc9ac6ec48d96a7e5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d889913205cf7ebda905b1e62c5867ed4e39f6c2\",\n                            \"lessThan\": \"23bed4ef132c55c9016f0c6122c8b8ba2efa2353\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d889913205cf7ebda905b1e62c5867ed4e39f6c2\",\n                            \"lessThan\": \"bf97c9d5123859a07848462539153176db029f3a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"d889913205cf7ebda905b1e62c5867ed4e39f6c2\",\n                            \"lessThan\": \"878654eb78c6aa0ff585baf1376567c775ca28ec\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/wireless/ath/ath12k/wmi.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.3\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.3\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.160\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.114\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.6\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","score":7.7,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/d4aec20f3a84634171c139ab2e02bb2e5a5c756b","https://git.kernel.org/stable/c/24f7cdabea9f7ab95dbd6d8bc9ac6ec48d96a7e5","https://git.kernel.org/stable/c/23bed4ef132c55c9016f0c6122c8b8ba2efa2353","https://git.kernel.org/stable/c/bf97c9d5123859a07848462539153176db029f3a","https://git.kernel.org/stable/c/878654eb78c6aa0ff585baf1376567c775ca28ec"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-90408","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-90408","identifiers":["CVE-2026-90408"]},"retained":false,"historicalAffected":[]}],"coverage":[]}