🇰🇷 한글 설명
Linux 커널의 mwifiex 드라이버에서 mwifiex_adapter_cleanup() 함수가 타이머를 삭제할 때 비동기 방식인 timer_delete()를 사용하여 발생하는 Use-After-Free 취약점입니다. 타이머 콜백이 실행 중인 상태에서 어댑터 구조체가 해제될 수 있어 메모리 오류를 유발합니다. 이를 해결하기 위해 타이머 완료를 보장하는 timer_delete_sync()를 사용하도록 수정되었습니다.
💡 쉬운 설명
무선 랜 카드를 종료하는 과정에서 실행 중이던 예약 작업이 끝나기도 전에 메모리를 먼저 지워버리는 문제입니다. 이로 인해 시스템이 잘못된 메모리 주소에 접근하여 충돌하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
The mwifiex_adapter_cleanup() function uses timer_delete()
(non-synchronous) for the wakeup_timer before the adapter structure is
freed. This is incorrect because timer_delete() does not wait for any
running timer callback to complete.
If the wakeup_timer callback (wakeup_timer_fn) is executing when
mwifiex_adapter_cleanup() is called, the callback will continue to
access adapter fields (adapter->hw_status, adapter->if_ops.card_reset,
etc.) which may be freed by mwifiex_free_adapter() called later in the
mwifiex_remove_card() path.
Use timer_delete_sync() instead to ensure any running timer callback has
completed before returning.
📍 영향받는 시스템
Linux kernel (mwifiex driver 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 네트워크 드라이버 조작을 통해 메모리 오류를 유발하여 권한 상승 또는 시스템 중단을 시도할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 timer_delete_sync()가 적용된 드라이버를 사용해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 이후의 버전인지 배포판 보안 공지를 통해 확인하십시오.