🇰🇷 한글 설명
Linux 커널의 ath12k 드라이버에서 ath12k_core_init() 함수 실행 중 오류가 발생할 경우, 등록된 노티파이어 체인이 적절히 해제되지 않는 취약점이 발견되었습니다. 이로 인해 모듈 제거(rmmod) 후 메모리가 해제된 상태에서 해당 체인에 접근할 경우 Use-After-Free(UAF) 문제가 발생할 수 있습니다.
💡 쉬운 설명
무선 랜 드라이버가 작동을 시작하다가 오류가 나면, 사용이 끝난 메모리 정보를 제대로 정리하지 못하는 버그입니다. 이 상태에서 시스템이 해당 메모리를 다시 사용하려고 하면 충돌이나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: fix uaf in ath12k_core_init()
When the execution of ath12k_core_hw_group_assign() or
ath12k_core_hw_group_create() fails, the registered notifier chain is not
unregistered properly. Its memory is freed after rmmod, which may trigger
to a use-after-free (UAF) issue if there is a subsequent access to this
notifier chain.
Fixes the issue by calling ath12k_core_panic_notifier_unregister() in
failure cases.
Call trace:
notifier_chain_register+0x4c/0x1f0 (P)
atomic_notifier_chain_register+0x38/0x68
ath12k_core_init+0x50/0x4e8 [ath12k]
ath12k_pci_probe+0x5f8/0xc28 [ath12k]
pci_device_probe+0xbc/0x1a8
really_probe+0xc8/0x3a0
__driver_probe_device+0x84/0x1b0
driver_probe_device+0x44/0x130
__driver_attach+0xcc/0x208
bus_for_each_dev+0x84/0x100
driver_attach+0x2c/0x40
bus_add_driver+0x130/0x260
driver_register+0x70/0x138
__pci_register_driver+0x68/0x80
ath12k_pci_init+0x30/0x68 [ath12k]
ath12k_init+0x28/0x78 [ath12k]
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
📍 영향받는 시스템
Linux kernel (ath12k driver components)
⚔️ 공격 벡터
로컬 공격자가 드라이버 초기화 실패를 유도하거나 모듈을 조작하여 메모리 오류를 일으킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ath12k_core_panic_notifier_unregister() 기능이 포함되도록 조치
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인