🇰🇷 한글 설명
Linux 커널의 qcom-qusb2 PHY 드라이버에서 런타임 PM을 활성화하기 전에 드라이버 데이터(QPHY 인스턴스)를 설정하지 않아, 부팅 시 런타임 PM 콜백이 NULL 포인터를 역참조하여 커널 패닉이 간헐적으로 발생할 수 있습니다. 수정 사항은 드라이버 데이터 설정을 pm_runtime_enable() 이전으로 옮기고, pm_runtime_enable/forbid 순서를 조정하며, devres 관리 함수를 사용하는 것입니다.
💡 쉬운 설명
컴퓨터 부팅 중 USB 관련 전원 관리 기능이 준비되기 전에 작동하면서 시스템이 갑자기 멈추는 문제입니다. 이는 주로 서비스 거부(DoS) 형태의 안정성 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
phy: qcom-qusb2: Fix NULL pointer dereference on early suspend
Enabling runtime PM before attaching the QPHY instance as driver data
can lead to a NULL pointer dereference in runtime PM callbacks that
expect valid driver data. There is a small window where the suspend
callback may run after PM runtime enabling and before runtime forbid.
This causes a sporadic crash during boot:
```
Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a1
[...]
CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.16.7+ #116 PREEMPT
Workqueue: pm pm_runtime_work
pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : qusb2_phy_runtime_suspend+0x14/0x1e0 [phy_qcom_qusb2]
lr : pm_generic_runtime_suspend+0x2c/0x44
[...]
```
Attach the QPHY instance as driver data before enabling runtime PM to
prevent NULL pointer dereference in runtime PM callbacks.
Reorder pm_runtime_enable() and pm_runtime_forbid() to prevent a
short window where an unnecessary runtime suspend can occur.
Use the devres-managed version to ensure PM runtime is symmetrically
disabled during driver removal for proper cleanup.
📍 영향받는 시스템
Qualcomm QUSB2 PHY 드라이버(phy-qcom-qusb2)를 사용하는 Qualcomm 기반 ARM 장치의 Linux 커널 (수정 전 6.16.x 계열 등)
⚔️ 공격 벡터
직접적인 원격 공격 경로는 알려져 있지 않으며, 부팅 타이밍에 따라 발생하는 간헐적 크래시로 로컬 서비스 거부 가능성이 있습니다.
🛡️ 대응 방법
커널을 해당 CVE 수정이 포함된 최신 안정 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하십시오.
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 Linux 안정 커널 changelog와 비교하여 CVE-2025-71193 수정 포함 여부를 확인하세요 (수정 커밋이 포함된 버전이면 안전).