🇰🇷 한글 설명
Linux 커널의 ax25 프로토콜 스택에서 ax25_ds_del_timer 함수 호출 시 발생하는 Use-After-Free 취약점입니다. 장치 분리 과정에서 타이머가 완전히 중단되지 않아, 이미 해제된 메모리 영역에 타이머 핸들러가 접근함으로써 시스템 오류나 권한 상승이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 제거하는 과정에서 타이머라는 알람 기능이 제대로 꺼지지 않아 발생하는 문제입니다. 이미 사라진 부품의 정보를 알람이 계속 사용하려고 시도하면서 시스템이 고장 날 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ax25: fix use-after-free bugs caused by ax25_ds_del_timer
When the ax25 device is detaching, the ax25_dev_device_down()
calls ax25_ds_del_timer() to cleanup the slave_timer. When
the timer handler is running, the ax25_ds_del_timer() that
calls del_timer() in it will return directly. As a result,
the use-after-free bugs could happen, one of the scenarios
is shown below:
(Thread 1) | (Thread 2)
| ax25_ds_timeout()
ax25_dev_device_down() |
ax25_ds_del_timer() |
del_timer() |
ax25_dev_put() //FREE |
| ax25_dev-> //USE
In order to mitigate bugs, when the device is detaching, use
timer_shutdown_sync() to stop the timer.
📍 영향받는 시스템
ax25 프로토콜을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 ax25 장치를 의도적으로 분리(detach)시키는 동작을 유도하여 메모리 오류 유발
🛡️ 대응 방법
ax25_ds_del_timer() 대신 timer_shutdown_sync()를 사용하여 타이머를 안전하게 중단하도록 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 보안 패치 버전인지 확인합니다.