🇰🇷 한글 설명
Linux 커널의 aqc111 USB 드라이버에서 절전 모드 진입 시 전원 관리(PM) 루틴을 잘못 호출하여 발생하는 취약점입니다. 이로 인해 시스템이 응답하지 않는 데드락(Deadlock) 상태에 빠지며 네트워크 스택 전체가 중단될 수 있습니다.
💡 쉬운 설명
컴퓨터가 절전 모드로 들어갈 때 특정 USB 장치가 잘못된 명령을 내려 시스템이 멈춰버리는 문제입니다. 이 현상이 발생하면 네트워크 사용이 불가능해지고 컴퓨터가 먹통이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: usb: aqc111: Do not perform PM inside suspend callback
syzbot reports "task hung in rpm_resume"
This is caused by aqc111_suspend calling
the PM variant of its write_cmd routine.
The simplified call trace looks like this:
rpm_suspend()
usb_suspend_both() - here udev->dev.power.runtime_status == RPM_SUSPENDING
aqc111_suspend() - called for the usb device interface
aqc111_write32_cmd()
usb_autopm_get_interface()
pm_runtime_resume_and_get()
rpm_resume() - here we call rpm_resume() on our parent
rpm_resume() - Here we wait for a status change that will never happen.
At this point we block another task which holds
rtnl_lock and locks up the whole networking stack.
Fix this by replacing the write_cmd calls with their _nopm variants
📍 영향받는 시스템
Linux kernel (aqc111 USB driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 USB 장치(Aquantia AQC111 관련)의 전원 관리 상태를 조작하여 시스템 데드락 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 aqc111_suspend 내 PM 호출 방식을 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.