CVE-2026-64014 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

입력 장치: usbtouchscreen - NEXIO의 data_len/x_len를 URB 버퍼 크기로 제한함

nexio_read_data() 함수는 디바이스의 인터럽트 패킷에 있는 packed __be16 헤더로부터 data_len과 x_len 값을 추출한 후, packet->data[0..x_len) 및 packet->data[x_len..data_len) 범위를 순회하며 각 바이트를 임계값(threshold)과 비교합니다.

두 필드 모두 네트워크 상에서 16비트(최대 65535)입니다. 기존 조정 로직은 최대 0x100 / 0x80만큼만 감소시키므로, 루프 경계가 여전히 약 0xfeff에 도달할 수 있습니다. NEXIO의 URB 전송 버퍼는 usb_alloc_coherent()을 통해 rept_size(1024) 바이트로 할당되며, 첫 7바이트가 packed 헤더로 사용되므로 packet->data[]에는 유효한 데이터가 1017바이트만 존재합니다. read_data() 콜백 함수에는 urb->actual_length 값이 전달되지 않으며, 순회 범위를 제한하는 다른 요소도 없습니다.

길이를 거짓으로 보고하는 디바이스는 일관된 DMA 할당 영역을 넘어 약 64 KiB에 해당하는 경계 밖(out-of-bounds) 읽기를 수행할 수 있습니다. NEXIO_THRESHOLD를 초과하는 첫 번째 인덱스가 begin_x / begin_y 변수에 저장되고, 여기서부터 보고되는 터치 좌표로 이어지므로, 인접한 커널 메모리 내용이 ABS_X / ABS_Y 이벤트로서 사용자 공간으로 유출됩니다. 충분히 멀리 떨어진 위치에서는 매핑되지 않은 페이지를 읽게 되어 예외(fault)가 발생할 수도 있습니다.

이 문제를 해결하기 위해 data_len을 버퍼의 data[] 용량에 대해 클램프(clamp)하고, x_len은 data_len에 대해 클램프합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380443

EPSS

0.00000

활동

낮음

출처

Want to know what is going to be exploited?

We predict KEV entries!