🇰🇷 한글 설명
Linux 커널의 USB 시리얼 드라이버(io_ti) 내 build_i2c_fw_hdr() 함수에서 힙 오버플로우 취약점이 발견되었습니다. 펌웨어 파일의 헤더 길이를 검증하지 않고 고정 크기 버퍼에 복사함으로써 메모리 오염이 발생할 수 있습니다.
💡 쉬운 설명
조작된 펌웨어 파일을 사용하여 컴퓨터의 메모리 영역을 넘치게 만들어 시스템을 망가뜨릴 수 있는 결함입니다. 악의적인 데이터가 들어있는 USB 장치를 연결할 때 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr()
build_i2c_fw_hdr() allocates a fixed-size buffer of
(16*1024 - 512) + sizeof(struct ti_i2c_firmware_rec) bytes, then
copies le16_to_cpu(img_header->Length) bytes into it without
validating that Length fits within the available space after the
firmware record header.
img_header->Length is a __le16 from the firmware file and can be
up to 65535. check_fw_sanity() validates the total firmware size
but not img_header->Length specifically.
Fix by rejecting images where img_header->Length exceeds the
available destination space.
📍 영향받는 시스템
Linux kernel (USB serial io_ti driver 포함 버전)
⚔️ 공격 벡터
조작된 길이를 가진 I2C 펌웨어 파일을 포함한 USB 장치를 시스템에 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인