🔍 CVE-2026-64273

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

🇰🇷 한글 설명

Linux 커널의 iforce 드라이버에서 장치가 보고하는 포스 피드백 효과 인덱스를 적절히 검증하지 않아 발생하는 취약점입니다. 공격자가 조작된 장치를 연결할 경우, 배열 범위를 벗어난 메모리 영역에 비트 단위 쓰기 작업을 수행하여 커널 메모리를 오염시킬 수 있습니다.

💡 쉬운 설명

특수하게 제작된 가짜 USB 장치를 컴퓨터에 연결하면, 컴퓨터의 중요한 메모리 영역을 몰래 수정할 수 있는 보안 약점입니다. 이로 인해 시스템이 불안정해지거나 해커가 권한을 탈취할 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: Input: iforce - bound the device-reported force-feedback effect index iforce_process_packet() handles a status report (packet id 0x02) by taking a force-feedback effect index straight from the device wire and using it to address the per-effect state array: i = data[1] & 0x7f; if (data[1] & 0x80) { if (!test_and_set_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) ... } else if (test_and_clear_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) { ... } The index is masked only with 0x7f, so it ranges 0..127, but core_effects[] holds only IFORCE_EFFECTS_MAX (32) entries. For an index of 32..127 the test_and_set_bit()/test_and_clear_bit() is an out-of-bounds single-bit read-modify-write past the array. core_effects[] is the second-to-last member of struct iforce, so the write lands in the trailing members and beyond the embedding kzalloc()'d iforce_serio / iforce_usb object. data[1] is unvalidated device payload on both transports (the USB interrupt endpoint and serio), and the status path is not gated on force feedback being present, so a malicious or counterfeit device can set or clear a bit at an attacker-chosen offset past the object. Reject an out-of-range index instead of indexing with it. Bound against the array dimension IFORCE_EFFECTS_MAX rather than dev->ff->max_effects so the check guarantees memory safety regardless of how many effects the device registered. A legitimate "effect started/stopped" status always carries an index below IFORCE_EFFECTS_MAX, so well-formed devices are unaffected; the neighbouring mark_core_as_ready() loop is already bounded and is left untouched.

📍 영향받는 시스템

Linux kernel (iforce driver 사용 환경)

⚔️ 공격 벡터

조작된 페이로드를 전송하는 악의적인 또는 위조된 USB/serio 장치 연결

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 인덱스 범위 검증 로직을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.

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