CVE-2026-64427 in Linux
요약
\~에 의해 VulDB • 2026. 07. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
HID: logitech-dj: DJ 짧은 리포트 검증 시 maxfield 검사 수정
커밋 b6a57912854e("HID: logitech-dj: REPORT_ID_DJ_SHORT 관련 사용자 시작 OOB 쓰기 방지")는 DJ 짧은 출력 리포트에 대한 검증을 추가했지만, 오류 경로에서 rep->maxfield가 0인 경우에도 rep->field[0]을 역참조합니다.
커밋 8b9a097eb2fc("HID: logitech-dj: 잘못된 DJ_SHORT 출력 보고서 감지 수정")은 체크를 rep의 존재 여부에 따라 조건부로 만들었지만, 조작된 설명자(descriptor)는 여전히 패딩만 있는 출력 항목으로 리포트 ID 0x20을 생성할 수 있습니다. hid-core는 해당 리포트를 등록하고 패딩 필드를 무시하며, rep->maxfield를 0으로 둡니다.
이 경우 검증 로직은 rep->maxfield < 1 분기로 진입한 후 오류 메시지를 출력하는 동안 rep->field[0]->report_count을 역참조하여 프로브(probe) 중에 NULL 포인터 역참조를 유발합니다. 이는 패딩만 있는 DJ 짧은 출력 리포트를 에뮬레이션하는 uhud를 사용하여 로지텍 수신기를 시뮬레이션함으로써 재현할 수 있습니다:
BUG: KASAN: null-ptr-deref in logi_dj_probe+0xb1/0x754 [hid_logitech_dj]
Read of size 4 at addr 0000000000000028 by task kworker/4:1/129 ... Call Trace: logi_dj_probe+0xb1/0x754 [hid_logitech_dj]
hid_device_probe+0x329/0x3f0 [hid]
really_probe+0x162/0x570 __device_attach+0x137/0x2c0 bus_probe_device+0x38/0xc0 device_add+0xa56/0xce0 hid_add_device+0x19c/0x280 [hid]
uhid_device_add_worker+0x2c/0xb0 [uhid]
필드 report_count을 출력하기 전에 필드가 0인 리포트를 거부합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.