🇰🇷 한글 설명
Linux 커널의 synaptics-rmi4 드라이버에서 GPIO/LED 개수 처리 오류로 인한 취약점이 발견되었습니다. 장치가 6개 이상의 GPIO를 보고할 경우, 할당된 메모리 범위를 벗어난 읽기 및 쓰기(Out-of-bounds read/write)가 발생할 수 있습니다.
💡 쉬운 설명
터치패드 관련 장치가 실제보다 많은 정보를 보낼 때, 컴퓨터가 허용된 메모리 범위를 넘어서 데이터를 읽거나 쓰는 오류가 발생합니다. 이로 인해 시스템 정보가 유출되거나 프로그램이 강제로 종료될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count
rmi_f30_map_gpios() allocates gpioled_key_map with
min(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but
rmi_f30_attention() iterates the full f30->gpioled_count (device query
register, range 0..31) and dereferences gpioled_key_map[i], and
input->keycodemax is set to the full gpioled_count while input->keycode
points at the 6-entry allocation.
A device that reports gpioled_count > 6 with GPIO support enabled
therefore causes an out-of-bounds read on the attention interrupt and
out-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls,
which bound the index only against keycodemax. This is the same defect
as the F3A handler, which was copied from F30.
Size the keymap for the full gpioled_count; the mapping loop still
assigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries.
📍 영향받는 시스템
Linux kernel (synaptics-rmi4 driver components)
⚔️ 공격 벡터
악의적인 설정을 가진 하드웨어 장치를 연결하여 잘못된 GPIO/LED 개수 값을 전달함으로써 발생
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인