🇰🇷 한글 설명
Linux 커널의 ath12k Wi-Fi 드라이버에서 vdev 생성 오류 발생 시 arvif 상태가 일관되지 않게 유지되는 취약점이 발견되었습니다. 오류 경로에서 자원 해제나 롤백이 제대로 이루어지지 않아, 실제로는 존재하지 않는 가상 디바이스가 존재하는 것처럼 인식될 수 있습니다.
💡 쉬운 설명
Wi-Fi 연결을 만드는 과정에서 오류가 났을 때, 뒷정리가 제대로 되지 않아 시스템이 혼란을 겪는 문제입니다. 이로 인해 실제로는 없는 장치가 있는 것처럼 착각하여 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: fix inconsistent arvif state in vdev_create error paths
ath12k_mac_vdev_create() has three error path issues that leave arvif
in an inconsistent state:
1. When ath12k_wmi_vdev_create() fails, the function returns directly
without clearing arvif->ar, which was already set before the WMI
call. Subsequent code checking arvif->ar to determine vdev readiness
will see a non-NULL value despite no vdev existing in firmware.
2. When ath12k_wmi_send_peer_delete_cmd() fails in err_peer_del, the
code jumped to err: skipping the DP peer cleanup and vdev rollback,
leaving num_created_vdevs, vdev maps and arvif list membership live.
3. When ath12k_wait_for_peer_delete_done() fails, the code jumped to
err_vdev_del: skipping the DP peer cleanup.
Fix by changing the ath12k_wmi_vdev_create() failure to goto err instead
of returning directly, routing both err_peer_del failure paths through
err_dp_peer_del: for proper DP peer and vdev rollback, and consolidating
the arvif state cleanup at err:.
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3
📍 영향받는 시스템
Linux kernel (ath12k driver 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 조건에서 Wi-Fi 가상 디바이스 생성 오류를 유도하여 시스템 상태를 불안정하게 만듦
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ath12k 드라이버의 오류 처리 로직을 수정해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.