CVE-2026-64273 in Linux정보

요약

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

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

입력: iforce - 장치가 보고하는 힘 피드백 효과 인덱스에 대한 범위 제한

iforce_process_packet() 함수는 상태 보고서(패킷 ID 0x02)를 처리할 때, 장치의 물리적 라인(wire)으로부터 직접 가져온 힘 피드백 효과(effect) 인덱스를 사용하여 각 효과별 상태 배열(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)) {
... }

인덱스는 0x7f로만 마스크되므로 범위는 0..127이지만, core_effects[] 배열은 IFORCE_EFFECTS_MAX(32)개의 항목만을 보유합니다. 인덱스가 32..127 범위일 경우 test_and_set_bit()/test_and_clear_bit() 호출은 배열 경계를 넘어가는 단일 비트 읽기-수정-쓰기(out-of-bounds single-bit read-modify-write) 연산이 됩니다. core_effects[]는 struct iforce 구조체의 마지막에서 두 번째 멤버이므로, 해당 쓰기 작업은 후속 멤버들과 kzalloc()으로 할당된 iforce_serio / iforce_usb 객체를 넘어가는 영역에 발생합니다.

data[1]은 USB 인터럽트 엔드포인트와 serio 양쪽 전송 계층 모두에서 검증되지 않은 장치 페이로드이며, 상태 처리 경로는 힘 피드백 기능이 존재하는지에 대해 게이트(gated)되어 있지 않습니다. 따라서 악의적이거나 위조된 장치가 객체 바깥의 공격자가 선택한 오프셋 위치에서 비트를 설정하거나 해제할 수 있습니다.

범위를 벗어난 인덱스를 사용하여 접근하지 않고 이를 거부합니다. 배열 차원인 IFORCE_EFFECTS_MAX에 대해 범위를 제한하며, dev->ff->max_effects가 아닌 이 값을 기준으로 검사함으로써 장치에 등록된 효과의 수와 관계없이 메모리 안전성을 보장합니다. 정당한 "효과 시작/중지" 상태 보고서는 항상 IFORCE_EFFECTS_MAX 미만의 인덱스를 포함하므로, 정상적인 장치는 영향을 받지 않습니다. 이웃하는 mark_core_as_ready() 루프는 이미 범위 제한이 되어 있으며 변경되지 않았습니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383059

EPSS

0.00220

활동

낮음

출처

Interested in the pricing of exploits?

See the underground prices here!