🔍 CVE-2026-80783

0.0
CVSS Score
UNKNOWN
2026-09-04
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 magicmouse 드라이버에서 magicmouse_raw_event() 함수가 DOUBLE_REPORT_ID 패킷을 처리할 때 재귀 호출의 깊이를 제한하지 않는 취약점이 발견되었습니다. 악의적인 HID 장치가 특수하게 조작된 패킷을 전송할 경우, 과도한 재귀 호출로 인해 커널 스택이 고갈되어 시스템 패닉이나 메모리 오염이 발생할 수 있습니다.

💡 쉬운 설명

마우스 같은 연결 장치가 가짜 신호를 계속 보내서 컴퓨터의 핵심 메모리 공간을 넘치게 만드는 공격입니다. 이로 인해 컴퓨터가 갑자기 멈추거나 시스템이 망가질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: HID: magicmouse: prevent unbounded recursion in magicmouse_raw_event() magicmouse_raw_event() handles DOUBLE_REPORT_ID (0xf7) packets, which pack two touch reports into one, by splitting the packet and calling itself on each half. The only guard against runaway recursion is a "size < 1" check, which stops zero-sized calls but does not bound the recursion depth. A malicious HID device that matches this driver can send a report starting with DOUBLE_REPORT_ID and filled with the sequence [0xf7, 0x00]. Each level consumes two bytes and recurses on the remainder, so an incoming report of up to HID_MAX_BUFFER_SIZE (16 KiB) drives roughly 8000 nested calls. That easily exhausts the 16 KiB kernel stack, leading to a stack overflow: a panic with CONFIG_VMAP_STACK, or memory corruption without it. A double report only ever wraps two normal reports; it is never legitimately nested. Refuse to re-enter the DOUBLE_REPORT_ID case from a recursive call so the recursion depth is bounded to two, while all valid packets keep being parsed exactly as before.

📍 영향받는 시스템

Linux kernel (magicmouse 드라이버를 사용하는 시스템)

⚔️ 공격 벡터

취약한 드라이버를 사용하는 시스템에 조작된 HID(Human Interface Device) 패킷을 보내는 물리적 또는 논리적 연결 공격

🛡️ 대응 방법

magicmouse_raw_event() 함수 내에서 재귀 호출 시 DOUBLE_REPORT_ID 케이스를 재진입하지 않도록 커널 패치를 적용해야 합니다.

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 커널 패치가 적용되었는지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel