🔍 CVE-2026-74366

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-17 06:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ath12k Wi-Fi 드라이버에서 채널 검증 실패 시 vdev가 생성되지 않음에도 불구하고 링크 맵에 잘못된 링크 정보가 등록되는 취약점입니다. 이로 인해 이후 연결 해제나 키 설정 과정에서 NULL 포인터를 참조하게 되어 커널 패닉(시스템 충돌)이 발생할 수 있습니다.

💡 쉬운 설명

Wi-Fi 연결 과정에서 오류가 발생했을 때, 시스템이 제대로 정리되지 않은 상태로 잘못된 정보를 남겨두어 컴퓨터가 갑자기 멈추거나 꺼질 수 있는 문제입니다. 연결이 끊기거나 보안 키를 설정할 때 시스템이 혼란을 겪으며 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix NULL deref in change_sta_links for unready link _ieee80211_set_active_links() calls _ieee80211_link_use_channel() for each newly-added link and WARN_ON_ONCE()s if it fails. The call uses assign_on_failure=true, which allows mac80211 to continue despite driver failures, but when a mac80211-level channel validation fails (e.g., combinations check, DFS, or no available radio), drv_assign_vif_chanctx() is never reached. Since ath12k_mac_vdev_create() is only called from that path, arvif->is_created remains false and arvif->ar remains NULL for the failed link. The subsequent drv_change_sta_links() call reaches ath12k_mac_op_change_sta_links(), which allocates an arsta and sets ahsta->links_map |= BIT(link_id) for the broken link before checking whether the link is ready. When the vdev was never created, only station_add() is skipped, but the link remains in links_map. Any subsequent operation iterating links_map and dereferencing arvif->ar without a NULL check will crash. Two observed examples are NULL deref in ath12k_mac_ml_station_remove() on disconnect and in ath12k_mac_op_set_key() when wpa_supplicant installs PTK keys. BUG: Unable to handle kernel NULL pointer dereference at 0x00000000 pc : ath12k_mac_station_post_remove+0x40/0xe8 [ath12k] Call trace: ath12k_mac_station_post_remove+0x40/0xe8 [ath12k] ath12k_mac_op_sta_state+0xb60/0x1720 [ath12k] drv_sta_state+0x100/0xbd8 [mac80211] __sta_info_destroy_part2+0x148/0x178 [mac80211] ieee80211_set_disassoc+0x500/0x678 [mac80211] BUG: Unable to handle kernel NULL pointer dereference at 0x00000000 pc : ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k] Call trace: ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k] drv_set_key+0x70/0x100 [mac80211] ieee80211_key_enable_hw_accel+0x78/0x260 [mac80211] ieee80211_add_key+0x16c/0x2ac [mac80211] nl80211_new_key+0x138/0x280 [cfg80211] Fix this by checking arvif->is_created before calling ath12k_mac_alloc_assign_link_sta(). This prevents the broken link from entering links_map, so all subsequent operations iterating the bitmap are protected. The reliability of arvif->is_created across all error paths is ensured by the preceding patch. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

📍 영향받는 시스템

Linux kernel with ath12k driver (specifically tested on WCN7850 hw2.0)

⚔️ 공격 벡터

특수하게 조작된 Wi-Fi 연결 요청 또는 채널 검증 실패를 유도하여 커널 NULL 포인터 역참조 유발

🛡️ 대응 방법

ath12k_mac_alloc_assign_link_sta() 호출 전 arvif->is_created 상태를 확인하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치가 적용되었는지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel