CVE-2026-90399 in Linux
요약
\~에 의해 VulDB • 2026. 09. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
wifi: ath12k: mac_phy_caps_parse()의 스트라이드 불일치 수정
현재 ath12k_wmi_mac_phy_caps_parse() 함수에서는 kzalloc()이 tot_phy_id * len 크기로 mac_phy_caps 버퍼를 할당합니다. 여기서 len은 min(firmware_len, sizeof(struct ath12k_wmi_mac_phy_caps_params))로 제한됩니다. 그러나 이후 memcpy()의 목적지 주소는 C 포인터 연산을 통해 각 슬롯마다 전체 구조체 크기(sizeof(full struct))만큼 증가하며, 이는 제한된 len 값과는 일치하지 않습니다. 펌웨어가 짧은 TLV(타입-길이-값)를 전송할 경우 두 번째 및 그 이후의 슬롯에 대한 쓰기가 할당 영역을 벗어나게 됩니다.
ath12k_pull_mac_phy_cap_svc_ready_ext() 함수 내의 리더도 전체 구조체 포인터 연산을 사용하여 버퍼에 인덱싱하므로, 할당 크기는 해당 스트라이드와 일치해야 합니다.
이 문제를 해결하기 위해 kzalloc_objs()를 사용하도록 수정했습니다. 이 함수는 포인터 타입에서 요소 크기를 유도하여, 펌웨어가 제공하는 len 값과 무관하게 할당 크기 및 포인터 스트라이드가 논리적으로 일관되도록 보장합니다.
테스트 환경: 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.