🔍 CVE-2025-38606

5.5
CVSS Score
MEDIUM
2025-08-19
2026-11-05 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ath12k 무선 드라이버에서 비콘 미스 처리 중 초기화되지 않은 arvif->ar 포인터를 역참조하여 널 포인터 역참조가 발생하는 문제입니다. P2P 인터페이스의 스캔 vdev가 해제되면서 arvif가 라디오에서 분리된 상태에서 접근하여 커널 패닉이 발생할 수 있습니다. vdev 생성 여부를 검증하여 수정되었습니다.

💡 쉬운 설명

와이파이 드라이버가 아직 준비되지 않은 가상 인터페이스를 잘못 참조해 시스템이 충돌할 수 있습니다. 보통 P2P 기능을 사용하는 무선 장치에서 나타납니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Avoid accessing uninitialized arvif->ar during beacon miss During beacon miss handling, ath12k driver iterates over active virtual interfaces (vifs) and attempts to access the radio object (ar) via arvif->deflink->ar. However, after commit aa80f12f3bed ("wifi: ath12k: defer vdev creation for MLO"), arvif is linked to a radio only after vdev creation, typically when a channel is assigned or a scan is requested. For P2P capable devices, a default P2P interface is created by wpa_supplicant along with regular station interfaces, these serve as dummy interfaces for P2P-capable stations, lack an associated netdev and initiate frequent scans to discover neighbor p2p devices. When a scan is initiated on such P2P vifs, driver selects destination radio (ar) based on scan frequency, creates a scan vdev, and attaches arvif to the radio. Once the scan completes or is aborted, the scan vdev is deleted, detaching arvif from the radio and leaving arvif->ar uninitialized. While handling beacon miss for station interfaces, P2P interface is also encountered in the vif iteration and ath12k_mac_handle_beacon_miss_iter() tries to dereference the uninitialized arvif->deflink->ar. Fix this by verifying that vdev is created for the arvif before accessing its ar during beacon miss handling and similar vif iterator callbacks. ========================================================================== wlp6s0: detected beacon loss from AP (missed 7 beacons) - probing KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] CPU: 5 UID: 0 PID: 0 Comm: swapper/5 Not tainted 6.16.0-rc1-wt-ath+ #2 PREEMPT(full) RIP: 0010:ath12k_mac_handle_beacon_miss_iter+0xb5/0x1a0 [ath12k] Call Trace: __iterate_interfaces+0x11a/0x410 [mac80211] ieee80211_iterate_active_interfaces_atomic+0x61/0x140 [mac80211] ath12k_mac_handle_beacon_miss+0xa1/0xf0 [ath12k] ath12k_roam_event+0x393/0x560 [ath12k] ath12k_wmi_op_rx+0x1486/0x28c0 [ath12k] ath12k_htc_process_trailer.isra.0+0x2fb/0x620 [ath12k] ath12k_htc_rx_completion_handler+0x448/0x830 [ath12k] ath12k_ce_recv_process_cb+0x549/0x9e0 [ath12k] ath12k_ce_per_engine_service+0xbe/0xf0 [ath12k] ath12k_pci_ce_workqueue+0x69/0x120 [ath12k] process_one_work+0xe3a/0x1430 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

📍 영향받는 시스템

Linux 커널 6.16-rc1 및 해당 시점 이후 ath12k 드라이버(QCN9274, WCN7850 등 Qualcomm Wi-Fi 7 칩셋) 사용 시스템

⚔️ 공격 벡터

로컬 또는 인접 무선 환경에서 비콘 손실 이벤트를 유발하여 드라이버 충돌(서비스 거부)을 일으킬 수 있으나, 일반적으로 권한 상승이나 원격 코드 실행으로 이어지지는 않습니다.

🛡️ 대응 방법

커널을 해당 수정이 포함된 최신 안정 버전으로 업데이트하거나 배포판 보안 업데이트를 적용하십시오.

🔧 검증 코드

출력된 커널 버전이 수정 패치가 포함된 버전보다 최신이면 해결된 것이며, ath12k 모듈이 로드되지 않았거나 해당 칩셋이 없으면 이 취약점의 영향을 받지 않습니다.

Shell / Script
uname -r && lsmod 2>/dev/null | grep -E '^ath12k' ; lspci -k 2>/dev/null | grep -i -A3 'network' | grep -i -E 'ath12k|qcn9274|wcn7850'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel