🇰🇷 한글 설명
Linux 커널의 iforce 드라이버에서 입력 패킷의 길이를 검증하지 않아 발생하는 취약점입니다. 조이스틱, 휠, 상태 패킷을 처리할 때 데이터 길이를 확인하지 않고 고정된 필드를 읽어 들임으로써 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
입력 장치(조이스틱 등)가 보내는 데이터의 길이를 제대로 확인하지 않아 발생하는 문제입니다. 잘못된 길이의 데이터가 들어올 경우 시스템이 예상치 못한 동작을 하거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Input: iforce - validate input packet lengths
iforce_process_packet() reads fixed fields from joystick, wheel and
status packets without first checking their lengths. In particular, the
shared hats-and-buttons helper unconditionally reads data[6]. The status
tail is a sequence of 16-bit effect addresses, but an incomplete final
address is also consumed. A successful zero-length USB URB additionally
reads the packet ID before the common parser is called.
Reject the zero-length USB transfer, require the seven-byte joystick and
wheel prefixes and the two-byte status prefix, and consume only complete
status-tail addresses.
📍 영향받는 시스템
Linux kernel (iforce driver 포함 버전)
⚔️ 공격 벡터
조작된 길이의 USB 입력 패킷을 전송하는 물리적 또는 가상 장치를 통한 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.