🇰🇷 한글 설명
Linux 커널의 ath11k Wi-Fi 드라이버에서 ath11k_wmi_tlv_op_rx() 함수가 헤더를 포함할 만큼 충분한 데이터가 있는지 확인하지 않고 버퍼를 읽는 취약점이 발견되었습니다. 이로 인해 버퍼 오버리드(Buffer Overread)가 발생할 수 있으며, 이를 방지하기 위해 데이터 길이를 사전에 검증하는 로직이 추가되었습니다.
💡 쉬운 설명
Wi-Fi를 사용하는 과정에서 데이터의 크기를 제대로 확인하지 않고 읽으려 할 때 발생하는 오류입니다. 이로 인해 시스템이 잘못된 정보를 읽거나 예기치 않게 동작할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath11k: Avoid buffer overread in ath11k_wmi_tlv_op_rx()
Currently, in ath11k_wmi_tlv_op_rx(), the firmware buffer is read
without first verifying that the buffer has enough data to hold a
header. This could result in a buffer overread.
Add an upfront length check before dereferencing skb->data as a
wmi_cmd_hdr. The check is placed before the trace_ath11k_wmi_event()
call to preserve the existing trace semantics (tracing the full raw
WMI event including the header), unlike the analogous ath12k fix which
could use skb_pull_data() directly.
Compile tested only.
📍 영향받는 시스템
ath11k 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
조작된 WMI(Wireless Management Interface) 패킷을 전송하여 버퍼 오버리드 유도
🛡️ 대응 방법
ath11k 드라이버의 길이 검증 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인