🇰🇷 한글 설명
Linux 커널의 MAX17040 드라이버에서 충전기 상태를 제공하는 공급자가 없을 경우 오류를 제대로 처리하지 못하는 취약점이 발견되었습니다. 이로 인해 사용자 공간에서 초기화되지 않은 배터리 상태 값을 읽을 수 있는 문제가 발생합니다.
💡 쉬운 설명
배터리 상태를 알려주는 장치가 연결되어 있지 않을 때, 시스템이 잘못된 정보를 배터리 상태인 것처럼 보여줄 수 있는 문제입니다. 이로 인해 배터리 충전 상태가 실제와 다르게 표시될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
power: supply: max17040: handle missing status supplier
MAX17040 does not report charger state itself, so the driver forwards
POWER_SUPPLY_PROP_STATUS to a supplier power supply. If no supplier is
registered, power_supply_get_property_from_supplier() returns -ENODEV and
leaves the output value untouched.
max17040_get_property() currently ignores that error and returns success,
so userspace can read an uninitialized status value from the battery power
supply. This happens on systems that use the fuel gauge without a charger
supplier relationship in firmware.
Return POWER_SUPPLY_STATUS_UNKNOWN when no supplier provides STATUS, and
propagate other supplier lookup errors.
📍 영향받는 시스템
MAX17040 연료 게이지를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 사용자 공간에서 초기화되지 않은 배터리 상태 값을 읽어 시스템 정보를 오판하게 함
🛡️ 대응 방법
MAX17040 드라이버가 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인