🇰🇷 한글 설명
Linux 커널의 max17040 전원 공급 장치 드라이버에서 regmap_read()의 오류를 무시하는 취약점이 발견되었습니다. I2C 통신 실패 시 초기화되지 않은 레지스터 값이 유효한 전압이나 배터리 잔량(SoC)으로 사용자 공간에 잘못 보고될 수 있습니다.
💡 쉬운 설명
배터리 상태를 읽어오는 과정에서 오류가 발생해도 시스템이 이를 무시하고 잘못된 배터리 잔량 정보를 보여줄 수 있는 문제입니다. 이로 인해 배터리 잔량이 갑자기 변하거나 잘못된 정보가 표시될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
power: supply: max17040: propagate register read errors
max17040_get_vcell() and max17040_get_soc() ignore errors returned by
regmap_read(). When an I2C transfer fails, the uninitialized register
value is converted and reported to userspace as a valid voltage or state
of charge. The polling worker can also replace the cached state of charge
with the bogus value and emit a spurious change event.
Propagate read errors through the power supply get_property callback and
keep the last valid cached state of charge when polling fails.
📍 영향받는 시스템
Linux kernel (max17040 driver 사용 시스템)
⚔️ 공격 벡터
I2C 통신 오류를 유도하여 잘못된 배터리 상태 정보를 시스템에 주입
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이상인지 확인