🇰🇷 한글 설명
Linux 커널의 wcn36xx Wi-Fi 드라이버에서 TX ack 타이머 해제 시 Use-After-Free 취약점이 발견되었습니다. 기존의 timer_delete() 방식은 실행 중인 콜백이 완료될 때까지 기다리지 않아 메모리 해제 후에도 함수가 호출될 수 있는 문제가 있었습니다. 이를 timer_shutdown_sync()로 교체하여 실행 중인 콜백이 종료될 때까지 대기하도록 수정되었습니다.
💡 쉬운 설명
Wi-Fi 장치를 끌 때 작동 중이던 타이머가 제대로 멈추지 않아, 이미 사라진 메모리 영역을 다시 사용하려고 시도하는 오류입니다. 이로 인해 시스템이 불안정해지거나 예기치 않은 동작이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: wcn36xx: Fix potential use-after-free in TX ack timer teardown
wcn36xx_dxe_deinit() tears down the TX ack timer with timer_delete(),
which only dequeues the timer and does not wait for a callback that is
already executing; the preceding free_irq() calls synchronize the
interrupt handlers only. The callback, wcn36xx_dxe_tx_timer(), can
therefore be running past the teardown and use the wcn freed along
with the ieee80211_hw in wcn36xx_remove(): it takes wcn->dxe_lock,
reads wcn->tx_ack_skb and passes wcn->hw to
ieee80211_tx_status_irqsafe().
Fix this by using timer_shutdown_sync(), which waits for a running
callback and also prevents the timer from being rearmed again. The
timer is set up again by wcn36xx_dxe_init() on the next start, so the
start/stop cycle is unaffected.
This issue was found by an in-house static analysis tool.
📍 영향받는 시스템
Linux kernel (wcn36xx Wi-Fi driver module)
⚔️ 공격 벡터
로컬 공격자가 특정 네트워크 동작을 유도하여 커널 메모리 오류를 일으키는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux