🇰🇷 한글 설명
Linux 커널의 ALSA USB 오디오 드라이버에서 MIDI 엔드포인트 디스크립터 크기 검증 미흡으로 인한 취약점이 발견되었습니다. 디스크립터 탐색 과정에서 bLength 값이 남은 바이트 수를 초과할 수 있어, 유연한 배열(flexible-array)을 읽을 때 경계 검사 오류가 발생할 수 있습니다.
💡 쉬운 설명
USB 오디오 장치를 연결할 때 장치가 보내는 정보의 길이를 제대로 확인하지 않아 발생하는 문제입니다. 잘못된 정보를 가진 장치를 연결하면 시스템 메모리 읽기 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Bound MIDI endpoint descriptor scans
snd_usbmidi_get_ms_info() validates the internal MIDIStreaming endpoint
descriptor size before using baAssocJackID[], but the descriptor walker can
still return a class-specific endpoint descriptor whose bLength exceeds the
remaining bytes in the endpoint-extra scan.
That leaves later flexible-array reads bounded by bLength, but not by the
remaining bytes in the endpoint-extra scan.
Stop walking when bLength is zero or
extends past the remaining endpoint-extra scan.
📍 영향받는 시스템
Linux Kernel (ALSA USB-audio driver 포함 버전)
⚔️ 공격 벡터
취약한 디스크립터를 포함한 악의적인 USB MIDI 장치를 시스템에 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인