🇰🇷 한글 설명
Linux 커널의 dwc3 gadget 드라이버에서 vbus draw 기능이 atomic context에서 호출되면서 sleep 가능한 PMIC API를 사용하여 커널 패닉을 유발할 수 있습니다. 이 취약점은 vbus_draw 작업을 workqueue context로 옮겨서 해결됩니다.
💡 쉬운 설명
USB 장치 드라이버가 전원 관리 API를 잘못된 상황에서 호출하여 시스템이 중단될 수 있습니다. 이를 안전한 대기열 구조로 변경하는 패치로 수정됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: dwc3: gadget: Move vbus draw to workqueue context
Currently dwc3_gadget_vbus_draw() can be called from atomic
context, which in turn invokes power-supply-core APIs. And
some these PMIC APIs have operations that may sleep, leading
to kernel panic.
Fix this by moving the vbus_draw into a workqueue context.
📍 영향받는 시스템
Linux kernel (dwc3 gadget 드라이버를 포함한 모든 버전)
⚔️ 공격 벡터
로컬 - USB gadget 기능을 활성화하거나 특정 PMIC 전원 관리 조건에서 트리거 가능
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 dwc3 gadget 드라이버 패치 적용
🔧 검증 코드
커널 버전 확인 후 dwc3 드라이버가 커널 설정에 포함되어 있으면 영향받을 수 있습니다. 결과에서 =y 또는 =m이면 활성화된 상태입니다.
uname -r | grep -E '[0-9]+\.[0-9]+' && grep -i dwc3 /boot/config-$(uname -r) 2>/dev/null || echo 'dwc3 not in kernel config'