🇰🇷 한글 설명
Linux 커널의 focaltech 드라이버에서 focaltech_process_rel_packet 함수 내 배열 범위 초과 취약점이 발견되었습니다. finger2 변수가 부호 있는 정수형으로 처리되어, 인덱스가 0일 때 1을 빼면 음수가 되어 기존의 FOC_MAX_FINGERS 체크를 우회하고 잘못된 메모리 위치에 접근할 수 있습니다.
💡 쉬운 설명
손가락 인식 센서 데이터를 처리하는 과정에서 숫자를 계산할 때 오류가 발생하여 시스템의 잘못된 메모리 영역을 건드릴 수 있는 문제입니다. 이를 통해 공격자가 시스템을 불안정하게 만들거나 보안을 위협할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Input: focaltech - fix array out-of-bounds in focaltech_process_rel_packet
Make finger2 (and also finger1) unsigned, so that if the finger index in
the packet is 0 then subtracting 1 creates an array index which overflows
above the existing check for FOC_MAX_FINGERS, as the existing comment says
it should, instead of writing to state->fingers[-1].
📍 영향받는 시스템
focaltech 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
조작된 패킷을 통해 finger 인덱스 값을 0으로 전달하여 배열 인덱스 범위를 벗어나게 유도
🛡️ 대응 방법
focaltech 드라이버의 finger2 변수 타입을 부호 없는 정수형(unsigned)으로 변경한 최신 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 보안 권고문을 통해 대조