🔍 CVE-2026-64270

7.8
CVSS Score
HIGH
2026-07-25
2026-10-24 13:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mms114 터치 드라이버에서 발생하는 스택 기반 버퍼 오버플로 취약점입니다. 장치가 보고하는 패킷 크기가 고정된 스택 버퍼 크기를 검증하지 않고 그대로 읽어 들임으로써, 악의적인 장치가 큰 크기를 보고할 경우 스택 메모리를 덮어쓸 수 있습니다.

💡 쉬운 설명

터치스크린 장치가 실제 크기보다 더 많은 데이터를 보내겠다고 속이면, 컴퓨터의 중요한 메모리 영역이 망가질 수 있는 문제입니다. 이를 통해 해커가 컴퓨터의 제어권을 뺏을 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Input: mms114 - reject an oversized device packet size mms114_interrupt() reads a packet of touch data from the device into a fixed-size on-stack buffer struct mms114_touch touch[MMS114_MAX_TOUCH]; which holds MMS114_MAX_TOUCH (10) events of MMS114_EVENT_SIZE (8) bytes, i.e. 80 bytes. The length of the I2C read into it is taken verbatim from the device: packet_size = mms114_read_reg(data, MMS114_PACKET_SIZE); if (packet_size <= 0) goto out; ... error = __mms114_read_reg(data, MMS114_INFORMATION, packet_size, (u8 *)touch); packet_size is a single device register byte (0x0F) and the only check is the lower bound packet_size <= 0; it is never bounded against the size of touch[]. A malfunctioning, malicious or counterfeit controller (or an attacker tampering with the I2C bus) can report a packet_size of up to 255, so __mms114_read_reg() writes up to 175 bytes past the end of touch[] on the IRQ-thread stack: a stack out-of-bounds write that can overwrite the stack canary, saved registers and the return address. A well-formed device never reports more than the buffer holds, so reject an oversized packet and drop the report, consistent with the handler's other error paths, rather than reading past the buffer.

📍 영향받는 시스템

mms114 드라이버를 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

I2C 버스를 통해 조작된 패킷 크기를 전달하는 악의적인 또는 결함이 있는 하드웨어 컨트롤러를 통한 공격

🛡️ 대응 방법

패킷 크기가 버퍼 크기를 초과하는지 검증하는 로직이 포함된 최신 Linux 커널로 업데이트

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 보안 공지(CVE-2026-64270)와 대조하여 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel