🇰🇷 한글 설명
Linux 커널의 usbg_make_tpg() 함수에서 정수 오버플로우 취약점이 발견되었습니다. unsigned long 타입인 tpgt 변수가 u16 타입인 tport_tpgt에 할당될 때, 값이 65535를 초과하면 데이터 손실이나 오버플로우가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 숫자를 저장할 수 있는 칸보다 더 큰 숫자를 입력받았을 때, 숫자가 엉뚱하게 변하는 오류입니다. 이로 인해 시스템이 예상치 못한 동작을 하거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: potential integer overflow in usbg_make_tpg()
The variable tpgt in usbg_make_tpg() is defined as unsigned long and is
assigned to tpgt->tport_tpgt, which is defined as u16. This may cause an
integer overflow when tpgt is greater than USHRT_MAX (65535). I
haven't tried to trigger it myself, but it is possible to trigger it
by calling usbg_make_tpg() with a large value for tpgt.
I modified the type of tpgt to match tpgt->tport_tpgt and adjusted the
relevant code accordingly.
This patch is similar to commit 59c816c1f24d ("vhost/scsi: potential
memory corruption").
📍 영향받는 시스템
Linux Kernel (usbg_make_tpg 함수를 사용하는 USB 관련 모듈 포함 버전)
⚔️ 공격 벡터
usbg_make_tpg() 함수에 65535보다 큰 값을 전달할 수 있는 특수한 USB 장치 연결 또는 관련 시스템 호출
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 최신 보안 업데이트 버전인지 확인하십시오.