🇰🇷 한글 설명
Linux 커널의 hwmon(lm90) 드라이버에서 경고 처리 시 잠금 보호(lock protection)가 누락되어 발생하는 취약점입니다. sysfs 쓰기 작업과 하드웨어 경고 인터럽트가 동시에 발생할 경우, 설정값이 잘못 복구되어 하드웨어 경고 라인이 의도치 않게 재활성화될 수 있습니다. 이로 인해 인터럽트 폭풍(interrupt storm)이 발생하여 시스템 성능 저하를 초래할 수 있습니다.
💡 쉬운 설명
하드웨어 온도 경고를 처리하는 과정에서 데이터 충돌이 발생하여 시스템이 멈추거나 느려질 수 있는 문제입니다. 여러 작업이 동시에 같은 설정값을 건드리면서 발생하는 일종의 '순서 꼬임' 현상입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (lm90) Add lock protection to lm90_alert
Sashiko reports:
lm90_alert() executes in the smbus alert context and calls
lm90_update_confreg() to disable the hardware alert line, without
acquiring hwmon_lock.
Concurrently, sysfs write operations (such as lm90_write_convrate) hold
the hwmon_lock, temporarily modify data->config, and then restore it.
If an alert interrupt occurs concurrently with a sysfs write, the sysfs
path will overwrite the alert handler's modifications to data->config
and the hardware register.
This unintentionally re-enables the hardware alert line while the alarm is
still active, causing an interrupt storm.
Add the missing lock to lm90_alert() to solve the problem.
📍 영향받는 시스템
lm90 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 하드웨어 경고 상황과 sysfs 설정을 동시에 조작하여 인터럽트 폭풍 유도
🛡️ 대응 방법
lm90_alert 함수에 hwmon_lock을 추가하여 데이터 접근을 동기화한 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인