🇰🇷 한글 설명
Linux 커널의 aspeed-g6-pwm-tacho 드라이버에서 팬 RPM을 계산할 때 타코미터 값이 0인 경우를 확인하지 않아 발생하는 취약점입니다. 하드웨어 오류로 인해 값이 0이 될 경우 0으로 나누기 연산이 수행되어 커널 패닉이 발생할 수 있습니다.
💡 쉬운 설명
팬이 얼마나 빨리 도는지 계산하는 과정에서 숫자를 0으로 나누는 실수가 발생할 수 있는 문제입니다. 이 오류가 발생하면 컴퓨터 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (aspeed-g6-pwm-tach) Guard fan RPM calculation against divide-by-zero
Sashiko reports:
In the aspeed-g6-pwm-tacho driver, the aspeed_tach_val_to_rpm() function
calculates the fan RPM using the tachometer value. However, it does not
check if the tachometer value is zero before performing the division.
If the hardware reports a tachometer value of 0 (which can happen due to
an extremely fast pulse, a stuck edge, or a hardware glitch), the
calculated tach_div evaluates to 0. The subsequent call to do_div() with
tach_div as the divisor triggers a divide-by-zero exception, leading to
a kernel panic.
Check the divisor against zero to fix the problem.
📍 영향받는 시스템
aspeed-g6-pwm-tacho 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
하드웨어 글리치나 센서 오류를 유도하여 타코미터 값을 0으로 만드는 방식 (로컬/물리적 영향)
🛡️ 대응 방법
RPM 계산 함수에서 나누기 연산 전 분모가 0인지 확인하는 로직이 포함된 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인