🇰🇷 한글 설명
Linux 커널의 renesas_usb3 가젯 드라이버에서 GET_STATUS 및 SET/CLEAR_FEATURE 핸들러가 호스트가 제공한 wIndex에서 엔드포인트 번호를 추출할 때 유효성 검사를 수행하지 않는 취약점이 발견되었습니다. 이로 인해 잘못된 엔드포인트 인덱스를 참조할 경우 포인터 역참조 오류가 발생할 수 있습니다.
💡 쉬운 설명
USB 장치가 컴퓨터와 통신할 때, 컴퓨터가 잘못된 번호의 통신 통로(엔드포인트)를 요청하면 시스템이 혼란에 빠져 오류가 발생할 수 있는 문제입니다. 이를 통해 시스템이 멈추거나 예상치 못한 동작을 유발할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: renesas_usb3: validate endpoint index in standard request handlers
The GET_STATUS and SET/CLEAR_FEATURE handlers extract the endpoint
number from the host-supplied wIndex without any sort of validation.
Fix this up by validating the number of endpoints actually match up with
the number the device has before attempting to dereference a pointer
based on this math.
This is just like what was done in commit ee0d382feb44 ("usb: gadget:
aspeed_udc: validate endpoint index for ast udc") for the aspeed driver.
📍 영향받는 시스템
Renesas USB3 가젯 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
악의적인 호스트(컴퓨터)가 유효하지 않은 엔드포인트 인덱스를 포함한 USB 표준 요청을 장치에 전송
🛡️ 대응 방법
엔드포인트 인덱스 유효성 검사 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 이후의 버전인지 확인