CVE-2026-90399 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
wifi: ath12k: исправлено несоответствие шага (stride) в функции mac_phy_caps_parse()
В настоящее время в функции ath12k_wmi_mac_phy_caps_parse() размер буфера mac_phy_caps, выделяемый с помощью kzalloc(), рассчитывается как tot_phy_id * len, где значение len ограничено величиной min(firmware_len, sizeof(struct ath12k_wmi_mac_phy_caps_params)). Последующий вызов memcpy() увеличивает указатель назначения на sizeof(полная структура) для каждого элемента посредством арифметики указателей C, а не на ограниченное значение len. Когда прошивка отправляет короткие TLV-элементы (TLVs), второй и последующие элементы записываются за пределы выделенной памяти.
Читатель в функции ath12k_pull_mac_phy_cap_svc_ready_ext() также индексирует буфер с использованием арифметики указателей на полную структуру, поэтому размер выделения должен соответствовать этому шагу (stride).
Исправление заключается в использовании kzalloc_objs(), которая выводит размер элемента из типа указателя, что гарантирует согласованность размера выделения и шага указателя независимо от того, какое значение len предоставляет прошивка.
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3
VulDB is the best source for vulnerability data and more expert information about this specific topic.