🇰🇷 한글 설명
Linux 커널의 accel/amdxdna 드라이버에서 자동 절전(auto suspend) 중 IOCTL 쿼리를 실행할 경우 데드락(deadlock)이 발생할 수 있는 취약점입니다. 쿼리 경로가 dev_lock을 보유한 상태에서 절전 완료를 기다리고, 절전 콜백은 dev_lock을 획득하려 시도하면서 시스템이 멈추는 현상이 발생합니다.
💡 쉬운 설명
컴퓨터의 특정 부품이 잠시 잠들려고 할 때 명령을 내리면, 시스템이 서로의 작업이 끝나기를 무한정 기다리며 멈춰버리는 문제입니다. 이로 인해 시스템이 응답하지 않는 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
accel/amdxdna: Fix dead lock for suspend and resume
When an application issues a query IOCTL while auto suspend is running,
a deadlock can occur. The query path holds dev_lock and then calls
pm_runtime_resume_and_get(), which waits for the ongoing suspend to
complete. Meanwhile, the suspend callback attempts to acquire dev_lock
and blocks, resulting in a deadlock.
Fix this by releasing dev_lock before calling pm_runtime_resume_and_get()
and reacquiring it after the call completes. Also acquire dev_lock in the
resume callback to keep the locking consistent.
📍 영향받는 시스템
Linux kernel (accel/amdxdna driver component)
⚔️ 공격 벡터
로컬 애플리케이션이 특정 시점에 IOCTL 쿼리를 호출하여 의도적으로 데드락 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인