🇰🇷 한글 설명
Linux 커널의 airoha watchdog 드라이버에서 클럭 주파수가 0일 때 0으로 나누기 오류가 발생하는 취약점이 발견되었습니다. 클럭 공급자가 제대로 설정되지 않아 clk_get_rate()가 0을 반환할 경우, 드라이버가 이를 그대로 나누기 연산에 사용하여 시스템 오류를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 시계 역할을 하는 장치가 0이라는 잘못된 값을 전달할 때, 시스템이 이를 계산하려다 멈춰버리는 오류입니다. 이로 인해 시스템이 예기치 않게 중단되거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
watchdog: airoha: Prevent division by zero when clock frequency is zero
clk_get_rate() can return 0 when the clock provider is not properly
configured or the clock is unmanaged. The driver uses wdt_freq as a
divisor directly in airoha_wdt_probe() to compute max_timeout and in
airoha_wdt_get_timeleft() to compute the remaining time, which results
in a division by zero.
Add a check for wdt_freq == 0 in probe and return -EINVAL with
dev_err_probe() to prevent the division by zero and provide a
diagnostic message.
📍 영향받는 시스템
Linux kernel (airoha watchdog driver 포함 버전)
⚔️ 공격 벡터
클럭 설정 오류를 유도하거나 잘못된 하드웨어 구성을 통해 시스템 오류 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux