CVE-2026-90399

wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()

State
Published
Severity
8.4 High
Published
Sep 17, 2026
Updated
Oct 21, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

Scores

CVSSScoreVectorSource
3.18.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • d889913205cf7ebda905b1e62c5867ed4e39f6c2 to before 79c6f4f7d16eea1bcb8bc5c8fd6ec04a01b0614fAffected
  • d889913205cf7ebda905b1e62c5867ed4e39f6c2 to before d3355e0fdbbf531ca8b82a6a3feb80a1b7306a8bAffected
  • d889913205cf7ebda905b1e62c5867ed4e39f6c2 to before b9a5d12cbdeb860306f8d47c92caee0ea6ee0e0aAffected
  • d889913205cf7ebda905b1e62c5867ed4e39f6c2 to before 26f8f87f0a556e7984366c64cebc16d49e15d22fAffected
  • d889913205cf7ebda905b1e62c5867ed4e39f6c2 to before 4c6eb712a91fa079be6f9f1419c96e0ad2227081Affected
LinuxLinux
  • 6.3Affected
  • before 6.3Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.