CVE-2026-90398 in Linux
Сводка
по VulDB • 18.09.2026
В ядре Linux была устранена следующая уязвимость:
wifi: ath11k: исправлено несоответствие шага (stride) в функции mac_phy_caps_parse()
В настоящее время в функции ath11k_wmi_tlv_mac_phy_caps_parse() размер буфера mac_phy_caps, выделяемый через kcalloc(), рассчитывается как tot_phy_id * len, где значение len ограничено величиной min(firmware_len, sizeof(struct wmi_mac_phy_capabilities)). Последующая операция memcpy() увеличивает указатель назначения на sizeof(полная структура) для каждого элемента с использованием арифметики указателей C, а не на ограниченное значение len. Когда прошивка отправляет короткие TLV-блоков (TLVs), второй и последующие элементы записываются за пределы выделенной памяти.
Читатель в функции ath11k_pull_mac_phy_cap_svc_ready_ext() также индексирует буфер с использованием арифметики указателей на полную структуру, поэтому размер выделения должен соответствовать этому шагу (stride).
Исправление заключается в использовании kzalloc_objs(), которая выводит размер элемента из типа указателя, обеспечивая доказуемое согласование размера выделения и шага указателя независимо от того, какое значение len предоставляет прошивка.
Тестирование выполнено только на этапе компиляции.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.