CVE-2026-90399
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()
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
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| d889913205cf7ebda905b1e62c5867ed4e39f6c2 | affected | git | 79c6f4f7d16eea1bcb8bc5c8fd6ec04a01b0614f | Unavailable | None listed |
| d889913205cf7ebda905b1e62c5867ed4e39f6c2 | affected | git | d3355e0fdbbf531ca8b82a6a3feb80a1b7306a8b | Unavailable | None listed |
| d889913205cf7ebda905b1e62c5867ed4e39f6c2 | affected | git | b9a5d12cbdeb860306f8d47c92caee0ea6ee0e0a | Unavailable | None listed |
| d889913205cf7ebda905b1e62c5867ed4e39f6c2 | affected | git | 26f8f87f0a556e7984366c64cebc16d49e15d22f | Unavailable | None listed |
| d889913205cf7ebda905b1e62c5867ed4e39f6c2 | affected | git | 4c6eb712a91fa079be6f9f1419c96e0ad2227081 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.3 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.3 | Unavailable | None listed |
| 6.6.160 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.110 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.52 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 7.2.6 | unaffected | semver | Unavailable | 7.2.* | None listed |
| 7.3 | unaffected | original_commit_for_fix | Unavailable | * | None listed |