🇰🇷 한글 설명
리눅스 커널의 Nintendo HID 드라이버에서 입력 장치가 기능 설정 완료 전에 등록되어 발생하는 취약점입니다. 이로 인해 동시적인 EVIOCSFF 호출 시 NULL 포인터 역참조가 발생할 수 있으며, 초기 udev 이벤트에서 버튼 및 축 정보가 누락될 수 있습니다.
💡 쉬운 설명
닌텐도 컨트롤러를 연결할 때 설정이 채 끝나기도 전에 컴퓨터가 장치를 인식해버리는 문제입니다. 이 과정에서 시스템 오류가 발생하거나 컨트롤러의 버튼 정보가 제대로 전달되지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
HID: nintendo: register input device after capabilities are set
input_register_device() exposes the device to userspace immediately.
In joycon_input_create() it was called before joycon_config_rumble()
configures the FF_RUMBLE capability and the memless force-feedback
device, so a concurrent EVIOCSFF could dereference a NULL dev->ff.
Registering early also means the initial udev event lacks button and
axis information, which can make input managers ignore the device.
Move input_register_device() to the end of joycon_input_create(), after
all capabilities, the IMU input device and the force-feedback callbacks
have been configured.
📍 영향받는 시스템
Nintendo Joy-Con 드라이버를 사용하는 Linux Kernel 버전
⚔️ 공격 벡터
장치 등록 직후 특정 IOCTL(EVIOCSFF) 명령을 동시 호출하여 NULL 포인터 역참조 유도
🛡️ 대응 방법
커널 패치를 통해 input_register_device() 호출 시점을 모든 설정 완료 후로 변경
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인