🇰🇷 한글 설명
리눅스 커널의 HID nintendo 드라이버에서 블루투스 연결 컨트롤러 사용 시 서스펜드/재개 과정에서 커널이 멈추거나 패닉이 발생하는 취약점이 해결되었습니다. 블루투스 연결이 불안정하거나 끊긴 상태에서 서스펜드가 발생할 때 입력 보고서를 기다리며 커널이 대기 상태에 빠지는 문제를 방지합니다.
💡 쉬운 설명
블루투스로 연결된 닌텐도 컨트롤러를 사용하는 안드로이드 기기에서, 기기가 절전 모드로 들어가거나 깨어날 때 시스템이 멈추는 현상이 발생할 수 있습니다. 이 문제는 컨트롤러와의 연결이 끊긴 상태에서 시스템이 컨트롤러의 응답을 무한정 기다리면서 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
HID: nintendo: avoid bluetooth suspend/resume stalls
Ensure we don't stall or panic the kernel when using bluetooth-connected
controllers. This was reported as an issue on android devices using
kernel 6.6 due to the resume hook which had been added for usb joycons.
First, set a new state value to JOYCON_CTLR_STATE_SUSPENDED in a
newly-added nintendo_hid_suspend. This makes sure we will not stall out
the kernel waiting for input reports during led classdev suspend. The
stalls could happen if connectivity is unreliable or lost to the
controller prior to suspend.
Second, since we lose connectivity during suspend, do not try
joycon_init() for bluetooth controllers in the nintendo_hid_resume path.
Tested via multiple suspend/resume flows when using the controller both
in USB and bluetooth modes.
📍 영향받는 시스템
Linux kernel 6.6 기반의 안드로이드 기기 및 nintendo HID 드라이버를 사용하는 시스템
⚔️ 공격 벡터
물리적 접근 또는 블루투스 연결 불안정 상태를 유도하여 시스템 중단(DoS) 유발 가능
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전인지 확인