🇰🇷 한글 설명
ARM32 플랫폼에서 SP804 타이머가 스케줄링 클록으로 등록되지 않았을 때, 지연 타이머와 스케줄링 클록이 동일한 클록 이벤트 인스턴스를 공유하면서 초기화되지 않은 메모리에 접근하여 커널 패닉(Oops)이 발생하는 취약점입니다. 이 문제는 지연 타이머를 위한 전용 클록 이벤트 인스턴스를 선언하여 공유 문제를 해결함으로써 수정되었습니다.
💡 쉬운 설명
시스템의 시간 측정 장치가 제대로 설정되지 않았을 때, 컴퓨터가 갑자기 멈추거나 오류를 일으키는 문제입니다. 개발자는 이 문제를 해결하기 위해 시간 측정 장치를 분리하여 안정성을 높였습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
clocksource/drivers/timer-sp804: Fix an Oops when read_current_timer is called on ARM32 platforms where the SP804 is not registered as the sched_clock.
On SP804, the delay timer shares the same clkevt instance with
sched_clock. On some platforms, when
sp804_clocksource_and_sched_clock_init is called with use_sched_clock
not set to 1, sched_clkevt is not properly initialized. However,
sp804_register_delay_timer is invoked unconditionally, and
read_current_timer() subsequently calls sp804_read on an uninitialized
sched_clkevt, leading to a kernel Oops when accessing
sched_clkevt->value.
Declare a dedicated clkevt instance exclusively for delay timer,
instead of sharing the same clkevt with sched_clock. This ensures
that read_current_timer continues to work correctly regardless of
whether SP804 is selected as the sched_clock.
📍 영향받는 시스템
Linux kernel (ARM32 platforms using SP804 timer)
⚔️ 공격 벡터
로컬 접근을 통한 커널 메모리 접근으로 인한 서비스 거부(DoS)
🛡️ 대응 방법
Linux 커널을 최신 안정 버전으로 업데이트하여 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인