🇰🇷 한글 설명
Linux 커널의 ath11k Wi-Fi 드라이버에서 원자적 컨텍스트(atomic context) 내에서 수면(sleep)이 발생하는 취약점이 발견되었습니다. ath11k_mac_op_set_bitrate_mask 함수가 호출될 때 잘못된 반복자를 사용하여 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
Wi-Fi를 조절하는 핵심 프로그램이 잠시 쉬어야 하는 상황에서 쉬지 못하고 강제로 작업을 수행하려다 시스템 오류를 일으키는 문제입니다. 이로 인해 시스템이 멈추거나 예기치 않게 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath11k: fix sleeping-in-atomic in ath11k_mac_op_set_bitrate_mask()
ath11k_mac_disable_peer_fixed_rate() is passed as the iterator to
ieee80211_iterate_stations_atomic(). Note in this case the iterator is
required to be atomic, however ath11k_mac_disable_peer_fixed_rate() does
not follow it as it might sleep. Consequently below warning is seen:
BUG: sleeping function called from invalid context at wmi.c:304
Call Trace:
<TASK>
dump_stack_lvl
__might_resched.cold
ath11k_wmi_cmd_send
ath11k_wmi_set_peer_param
ath11k_mac_disable_peer_fixed_rate
ieee80211_iterate_stations_atomic
ath11k_mac_op_set_bitrate_mask.cold
Change to ieee80211_iterate_stations_mtx() to fix this issue.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30
📍 영향받는 시스템
ath11k 드라이버를 사용하는 Linux 커널 기반 시스템 (WCN6855 하드웨어 포함)
⚔️ 공격 벡터
로컬 공격자가 특정 Wi-Fi 설정 변경을 유도하여 커널 패닉을 일으키는 방식
🛡️ 대응 방법
커널 패치를 적용하여 ieee80211_iterate_stations_atomic() 대신 ieee80211_iterate_stations_mtx()를 사용하도록 업데이트
🔧 검증 코드
현재 사용 중인 커널 버전과 ath11k 모듈의 정보를 확인하여 패치 적용 여부를 검토합니다.
uname -r && modinfo ath11k | grep version