🇰🇷 한글 설명
Linux 커널의 hwmon(adt7470) 드라이버에서 사용자가 'auto_update_interval'을 0으로 설정할 경우, 백그라운드 스레드가 무한 루프에 빠져 CPU를 점유하고 I2C 버스에 과도한 트래픽을 발생시키는 취약점입니다. 이로 인해 시스템 성능 저하 및 I2C 버스 서비스 거부(DoS)가 발생할 수 있습니다.
💡 쉬운 설명
온도 센서를 확인하는 프로그램이 너무 빠르게 반복 작동하여 컴퓨터의 두뇌(CPU)를 과도하게 사용하고 통신 통로를 마비시키는 문제입니다. 설정값이 0이 되면 쉬지 않고 계속 일을 하게 되어 시스템이 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread
When userspace configures 'auto_update_interval' to 0 via sysfs, the
background kthread executes schedule_timeout_interruptible(0), which
returns immediately.
If 'num_temp_sensors' is concurrently or previously set to 0, the
msleep_interruptible() delay inside adt7470_read_temperatures() also
becomes 0. This combination forces the background thread into a tight,
unbounded busy-loop, hogging the CPU and flooding the I2C bus with a
continuous stream of transactions.
Fix this vulnerability by raising the lower limit of the clamp_val in
auto_update_interval_store() from 0 to 500 milliseconds. This guarantees
a reasonable minimum sleep window between sensor updates, protecting the
system from intentional or accidental I2C bus denial of service.
📍 영향받는 시스템
adt7470 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
사용자 공간(userspace)에서 sysfs를 통해 'auto_update_interval' 값을 0으로 설정하여 발생
🛡️ 대응 방법
커널 패치를 통해 'auto_update_interval'의 최소값을 500ms로 제한하여 업데이트 간격을 보장해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인하십시오.
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux