🇰🇷 한글 설명
Linux 커널의 tlclk 드라이버에서 모듈 정리 과정 중 Use-After-Free 및 레이스 컨디션 취약점이 발견되었습니다. file_operations 구조체에 소유권 설정이 누락되어 프로세스가 장치를 사용하는 동안 모듈이 언로드될 수 있으며, 메모리 해제 전 대기 중인 프로세스와 타이머 처리가 완료되지 않는 문제가 있습니다.
💡 쉬운 설명
장치를 사용 중인 프로그램이 있는데 드라이버가 먼저 종료되어 버려 발생하는 오류입니다. 이로 인해 시스템이 불안정해지거나 해킹에 악용될 수 있는 메모리 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
char: tlclk: fix use-after-free in tlclk_cleanup()
This patch improves the module cleanup process in the tlclk driver to
prevent potential use-after-free and race conditions.
Currently, the file_operations structure does not specify the .owner
field, which could allow the module to be unloaded while user-space
processes are still interacting with the device. Additionally, the
tlclk_cleanup() function frees the alarm_events memory before ensuring
that blocked processes in the waitqueue are fully awakened and that the
switchover_timer has completed.
To address these cases, this patch:
- Sets '.owner = THIS_MODULE' in tlclk_fops to safely defer module
unloading while the device is in use.
- Updates tlclk_cleanup() to explicitly wake up all blocked readers
(wake_up_all), properly release hardware I/O regions, and safely
delete the timer (timer_delete_sync) prior to freeing memory.
📍 영향받는 시스템
tlclk 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
장치를 사용하는 프로세스가 있는 상태에서 모듈을 강제로 언로드하여 메모리 오류 유도
🛡️ 대응 방법
tlclk 드라이버에 적용된 최신 커널 보안 패치 적용 및 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.