🇰🇷 한글 설명
Linux 커널의 cfg80211 구성 요소에서 wiphy가 등록 해제될 때 rfkill_block 작업이 적절히 취소되지 않아 발생하는 Use-After-Free 취약점입니다. 이로 인해 이미 해제된 메모리 영역에 접근을 시도하여 시스템 불안정성이나 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
무선 랜 카드를 시스템에서 제거할 때, 아직 실행 중인 작업이 남아 있어 이미 사라진 메모리 공간을 건드리는 오류입니다. 이로 인해 컴퓨터가 갑자기 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: cfg80211: cancel rfkill_block work in wiphy_unregister()
There is a use-after-free error in cfg80211_shutdown_all_interfaces found
by syzkaller:
BUG: KASAN: use-after-free in cfg80211_shutdown_all_interfaces+0x213/0x220
Read of size 8 at addr ffff888112a78d98 by task kworker/0:5/5326
CPU: 0 UID: 0 PID: 5326 Comm: kworker/0:5 Not tainted 6.19.0-rc2 #2 PREEMPT(voluntary)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Workqueue: events cfg80211_rfkill_block_work
Call Trace:
<TASK>
dump_stack_lvl+0x116/0x1f0
print_report+0xcd/0x630
kasan_report+0xe0/0x110
cfg80211_shutdown_all_interfaces+0x213/0x220
cfg80211_rfkill_block_work+0x1e/0x30
process_one_work+0x9cf/0x1b70
worker_thread+0x6c8/0xf10
kthread+0x3c5/0x780
ret_from_fork+0x56d/0x700
ret_from_fork_asm+0x1a/0x30
</TASK>
The problem arises due to the rfkill_block work is not cancelled when wiphy
is being unregistered. In order to fix the issue cancel the corresponding
work in wiphy_unregister().
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
📍 영향받는 시스템
Linux kernel (specifically versions involving cfg80211 and wiphy_unregister, e.g., 6.19.0-rc2 and similar)
⚔️ 공격 벡터
로컬 공격자가 특정 무선 네트워크 인터페이스를 등록 해제하는 과정을 통해 커널 메모리 오류를 유도할 수 있습니다.
🛡️ 대응 방법
wiphy_unregister() 함수 호출 시 rfkill_block 작업을 취소하도록 커널을 최신 버전으로 업데이트해야 합니다.
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 패치 버전 이후인지 확인합니다.