🔍 CVE-2024-39509

5.5
CVSS Score
MEDIUM
2024-07-12
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

Linux 커널 HID 드라이버의 implement() 함수에서 불필요한 WARN_ON() 호출을 제거하는 패치입니다. 출력 리포트의 작은 필드에 값을 쓸 때 Syzkaller가 트리거하는 거짓 경고를 억제합니다.

💡 쉬운 설명

Linux 커널의 입력장치 드라이버에서 불필요한 경고 메시지를 제거합니다. 실제 보안 위협이 아닌 테스트 중 발생하는 거짓 경고를 줄이는 유지보수 개선입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: HID: core: remove unnecessary WARN_ON() in implement() Syzkaller hit a warning [1] in a call to implement() when trying to write a value into a field of smaller size in an output report. Since implement() already has a warn message printed out with the help of hid_warn() and value in question gets trimmed with: ... value &= m; ... WARN_ON may be considered superfluous. Remove it to suppress future syzkaller triggers. [1] WARNING: CPU: 0 PID: 5084 at drivers/hid/hid-core.c:1451 implement drivers/hid/hid-core.c:1451 [inline] WARNING: CPU: 0 PID: 5084 at drivers/hid/hid-core.c:1451 hid_output_report+0x548/0x760 drivers/hid/hid-core.c:1863 Modules linked in: CPU: 0 PID: 5084 Comm: syz-executor424 Not tainted 6.9.0-rc7-syzkaller-00183-gcf87f46fd34d #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 RIP: 0010:implement drivers/hid/hid-core.c:1451 [inline] RIP: 0010:hid_output_report+0x548/0x760 drivers/hid/hid-core.c:1863 ... Call Trace: <TASK> __usbhid_submit_report drivers/hid/usbhid/hid-core.c:591 [inline] usbhid_submit_report+0x43d/0x9e0 drivers/hid/usbhid/hid-core.c:636 hiddev_ioctl+0x138b/0x1f00 drivers/hid/usbhid/hiddev.c:726 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:904 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:890 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f ...

📍 영향받는 시스템

Linux 커널 6.9-rc7 이전 버전의 HID (Human Interface Device) 드라이버

⚔️ 공격 벡터

ioctl 명령을 통해 hiddev 인터페이스의 hid_output_report 함수 호출 중 트리거

🛡️ 대응 방법

Linux 커널을 6.9 정식 버전 이상으로 업그레이드하여 HID 드라이버 패치 적용

🔧 검증 코드

커널 버전이 6.9 이상이면 패치가 적용되어 있고, 6.9-rc7 이하이면 취약한 버전입니다.

Shell / Script
uname -r | awk -F. '{if($1>6 || ($1==6 && $2>=9)) print "Patched"; else print "Vulnerable"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel