🇰🇷 한글 설명
Linux 커널의 Wacom HID 드라이버에서 wacom_hid_set_device_mode() 함수가 HID_DG_INPUTMODE 사용 위치를 항상 첫 번째 필드로 가정하여 발생하는 경계 외 쓰기(OOB Write) 취약점입니다. 특정 장치가 입력 모드를 다른 필드에 배치할 경우, 잘못된 메모리 주소에 값을 기록하여 시스템 불안정이나 권한 상승을 초래할 수 있습니다.
💡 쉬운 설명
와콤 타블렛 장치가 정보를 전달할 때, 컴퓨터가 엉뚱한 메모리 위치에 데이터를 적어버리는 오류가 있습니다. 이로 인해 컴퓨터 시스템이 멈추거나 해커가 시스템을 제어할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
HID: wacom: Fix OOB write in wacom_hid_set_device_mode()
wacom_hid_set_device_mode() currently assumes that the HID_DG_INPUTMODE
usage is always located in the first field (field[0]) of the feature report.
However, a device can specify HID_DG_INPUTMODE in a different field.
If HID_DG_INPUTMODE is in a field other than the first one and the first
field has a report_count smaller than the usage_index of HID_DG_INPUTMODE,
this leads to an out-of-bounds write to r->field[0]->value.
Fix this by storing the field index of HID_DG_INPUTMODE in 'struct
hid_data' during feature mapping. In wacom_hid_set_device_mode(), use
this stored field index to access the correct field and add bounds
checks to ensure both the field index and the value index are within
valid ranges before writing.
📍 영향받는 시스템
Wacom HID 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 HID 리포트를 전송하는 악의적인 Wacom 장치를 연결하여 발생
🛡️ 대응 방법
Wacom HID 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인합니다.