CVE-2026-90399

CVE-2026-90399

High · published September 17, 2026

CVSS v3.1
8.4
EPSS
0%
Percentile
7.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()

Currently, in ath12k_wmi_mac_phy_caps_parse(), kzalloc() sizes the

mac_phy_caps buffer as tot_phy_id * len, where len is clamped to

min(firmware_len, sizeof(struct ath12k_wmi_mac_phy_caps_params)). 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 ath12k_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.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00185 · 7.7th percentile
Published
2026-09-17T21:17Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:09Z
    wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()
    cvelistv5