🇰🇷 한글 설명
Linux kernel 4.9.x(4.9.9 이전) 버전의 USB HID 드라이버에서 spinlock이 sleep 가능성을 고려하지 않아 발생하는 취약점. 지역 사용자가 특정 USB HID 요청을 통해 deadlock을 유발하여 denial of service 공격 가능.
💡 쉬운 설명
USB 장치와 통신할 때 Linux가 사용하는 안전장치에 결함이 있어 시스템을 응답 불가능하게 만들 수 있습니다. 로컬 접근 권한이 있는 사용자만 공격 가능합니다.
🇺🇸 원문 (English)
drivers/hid/hid-cp2112.c in the Linux kernel 4.9.x before 4.9.9 uses a spinlock without considering that sleeping is possible in a USB HID request callback, which allows local users to cause a denial of service (deadlock) via unspecified vectors.
📍 영향받는 시스템
Linux kernel 4.9.0 ~ 4.9.8 (drivers/hid/hid-cp2112.c)
⚔️ 공격 벡터
로컬 사용자가 USB HID 요청 콜백 함수에서 spinlock 영역 내에서 sleep을 발생시켜 deadlock 유발
🛡️ 대응 방법
Linux kernel을 4.9.9 이상으로 업데이트
🔧 검증 코드
커널 버전이 4.9.0~4.9.8이면 취약상태, 4.9.9 이상이면 패치됨
uname -r | grep -E '^4\.9\.[0-8]($|[^0-9])' && echo 'Vulnerable' || echo 'Patched'