🇰🇷 한글 설명
Linux 커널의 hwmon adc128d818 드라이버에서 사용자가 입력한 큰 음수(-9223372036854775808)에 대해 DIV_ROUND_CLOSEST() 함수가 언더플로우를 발생시키는 취약점입니다. clamp_val()과 DIV_ROUND_CLOSEST() 연산의 순서를 변경하여 수정됩니다.
💡 쉬운 설명
하드웨어 모니터링 드라이버에서 매우 큰 음수를 입력받을 때 계산 오류가 발생하는 버그입니다. 로컬 접근 권한이 있는 사용자가 악의적인 값을 입력하여 시스템 안정성을 해칠 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (adc128d818) Fix underflows seen when writing limit attributes
DIV_ROUND_CLOSEST() after kstrtol() results in an underflow if a large
negative number such as -9223372036854775808 is provided by the user.
Fix it by reordering clamp_val() and DIV_ROUND_CLOSEST() operations.
📍 영향받는 시스템
Linux kernel (adc128d818 드라이버 사용 시스템) - 수정 이전 버전
⚔️ 공격 벡터
로컬 사용자가 hwmon 제한 속성(/sys/class/hwmon)에 극단적인 음수값을 쓰기 권한으로 입력
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 DIV_ROUND_CLOSEST() 및 clamp_val() 순서 변경 패치 적용
🔧 검증 코드
adc128d818 드라이버가 시스템에 로드되어 있으면 'adc128d818' 출력이 표시되며, 해당 시스템이 취약점에 영향을 받을 수 있습니다
cat /sys/class/hwmon/hwmon*/name 2>/dev/null | grep -i adc128