🇰🇷 한글 설명
Linux 커널의 pmbus hwmon 드라이버에서 여러 전압/전류 이벤트가 동시에 발생할 경우, 이를 결합된 비트마스크로 전달하여 regulator 코어의 이벤트 처리 로직을 우회하는 취약점이 발견되었습니다. 이로 인해 하드웨어 보호 기능인 hw_protection_trigger()가 정상적으로 호출되지 않을 수 있습니다.
💡 쉬운 설명
전기 장치에 여러 가지 문제가 동시에 생겼을 때, 시스템이 이를 하나의 복합적인 문제로 잘못 인식하여 경고를 무시하는 현상입니다. 이로 인해 하드웨어를 보호해야 할 중요한 순간에 보호 기능이 작동하지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (pmbus) Fix passing events to regulator core
Sashiko reports:
Commit 754bd2b4a084 ("hwmon: (pmbus/core) Protect regulator operations with
mutex") introduced a worker to batch regulator events over time using
atomic_or(). The delayed worker then passes the combined bitmask unmodified
to regulator_notifier_call_chain().
The core regulator subsystem's regulator_handle_critical() function
evaluates the event parameter using a strict switch statement. If
multiple distinct faults occur before the worker runs (e.g.,
REGULATOR_EVENT_UNDER_VOLTAGE | REGULATOR_EVENT_OVER_CURRENT), the combined
bitmask fails to match any case. This leaves the reason as NULL and
completely bypasses the critical hw_protection_trigger().
Fix the problem by passing events bit by bit to the regulator event
handler.
📍 영향받는 시스템
Linux kernel (pmbus/core hwmon driver 포함 버전)
⚔️ 공격 벡터
하드웨어 수준에서 의도적으로 여러 전압/전류 결함(Fault)을 동시에 발생시켜 보호 로직을 우회함
🛡️ 대응 방법
커널 패치를 적용하여 이벤트를 비트 단위로 개별 전달하도록 업데이트해야 함
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.