CVE-2026-90398 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
wifi: ath11k: mac_phy_caps_parse()의 스트라이드 불일치 수정
현재 ath11k_wmi_tlv_mac_phy_caps_parse() 함수에서는 kcalloc()가 tot_phy_id * len 크기로 mac_phy_caps 버퍼를 할당합니다. 여기서 len은 min(firmware_len, sizeof(struct wmi_mac_phy_capabilities))로 제한(clamped)됩니다. 이후 memcpy()의 목적지 주소는 C 포인터 연산을 통해 슬롯마다 전체 구조체 크기(sizeof(full struct))만큼 증가하며, 이는 제한된 len 값이 아닌 것입니다. 펌웨어가 짧은 TLV를 전송할 경우 두 번째 및 그 이후의 슬롯에 대한 쓰기가 할당 영역을 벗어나게 됩니다.
ath11k_pull_mac_phy_cap_svc_ready_ext() 함수 내의 리더도 전체 구조체 포인터 연산을 사용하여 버퍼에 인덱싱하므로, 할당 크기는 해당 스트라이드와 일치해야 합니다.
이 문제를 해결하기 위해 kzalloc_objs()를 사용하며, 이는 요소 크기를 포인터 타입에서 파생시켜 펌웨어가 제공하는 len 값과 무관하게 할당 크기 및 포인터 스트라이드가 일관되도록 보장합니다.
컴파일 테스트만 수행되었습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.