🇰🇷 한글 설명
Linux 커널의 Qualcomm QMP USB 드라이버에서 초기 런타임 절전 모드 진입 시 NULL 포인터 역참조로 인해 시스템 충돌이 발생할 수 있는 취약점입니다. 드라이버가 완전히 초기화되기 전에 절전 모드 콜백이 실행되거나 사용자가 sysfs를 통해 런타임 PM을 재활성화할 경우 발생합니다.
💡 쉬운 설명
컴퓨터의 전원을 아끼기 위해 특정 부품을 잠시 끄는 과정에서, 아직 준비가 안 된 부품을 건드리려다 시스템이 멈추는 문제입니다. 부품이 완전히 준비되었는지 확인하는 안전장치를 추가하여 이 문제를 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
phy: qcom: qmp-usb: Fix possible NULL-deref on early runtime suspend
There is a small window where the runtime suspend callback may run
after pm_runtime_enable() and before pm_runtime_forbid(). In this
case, a crash occurs because runtime suspend/resume dereferences
qmp->phy pointer, which is not yet initialized:
`if (!qmp->phy->init_count) {`
This can also happen if user re-enables runtime-pm via the sysfs
attribute before qmp phy is initialized.
Similarly to other qcom phy drivers, introduce a qmp->phy_initialized
variable that can be used to avoid relying on the possibly uninitialized
phy pointer.
📍 영향받는 시스템
Qualcomm QMP USB 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 사용자가 sysfs 속성을 통해 런타임 전원 관리(Runtime-PM)를 조작하여 시스템 충돌 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 릴리스 버전인지 확인