{"id":25808,"date":"2026-09-18T04:31:55","date_gmt":"2026-09-17T20:31:55","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90399"},"modified":"2026-09-18T04:31:55","modified_gmt":"2026-09-17T20:31:55","slug":"cve-2026-90399","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90399","title":{"rendered":"CVE-2026-90399 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: fix str"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()<\/p>\n<p>Currently, in ath12k_wmi_mac_phy_caps_parse(), kzalloc() sizes the<br \/>\nmac_phy_caps buffer as tot_phy_id * len, where len is clamped to<br \/>\nmin(firmware_len, sizeof(struct ath12k_wmi_mac_phy_caps_params)). The<br \/>\nsubsequent memcpy() destination advances by sizeof(full struct) per slot<br \/>\nvia C pointer arithmetic, not by the clamped len. When firmware sends<br \/>\nshort TLVs, the second and later slots are written past the end of the<br \/>\nallocation.<\/p>\n<p>The reader in ath12k_pull_mac_phy_cap_svc_ready_ext() also indexes the<br \/>\nbuffer with full-struct pointer arithmetic, so the allocation must match<br \/>\nthat stride.<\/p>\n<p>Fix by using kzalloc_objs(), which derives the element size from the<br \/>\npointer type, making allocation size and pointer stride provably<br \/>\nconsistent regardless of what len the firmware provides.<\/p>\n<p>Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>wifi: ath12k: fix stride mismatch in mac_phy_caps_parse()<\/p>\n<p>Currently, in ath12k_wmi_mac_phy_caps_parse(), kzalloc() sizes the<br \/>\nmac_p<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25808","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}