🇰🇷 한글 설명
Linux 커널의 ALSA USB 오디오 드라이버에서 암시적 피드백 모드 사용 시 프레임 크기 제한이 제대로 이루어지지 않는 취약점입니다. USB 장치가 허용된 크기를 초과하는 동기화 패킷을 보낼 경우, 프레임 수가 엔드포인트의 최대 크기를 초과하여 재생 큐에 전달될 수 있습니다.
💡 쉬운 설명
USB 오디오 장치가 정해진 규칙보다 더 큰 데이터를 보낼 때 시스템이 이를 제대로 걸러내지 못하는 문제입니다. 이로 인해 오디오 재생 과정에서 하드웨어 한계를 넘어서는 데이터가 전달되어 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Clamp frame size in implicit-feedback mode
snd_usb_handle_sync_urb() scales received sync packet sizes by the sender's
stride and stores the result directly in out_packet->packet_size[i]. If a
connected USB device sends an oversized sync packet, this frame count can
exceed ep->maxframesize.
The un-clamped frame count then propagates to the playback endpoint queue,
potentially driving packet transfers beyond the endpoint's hardware frame
limits.
Cap the calculated frame count against ep->maxframesize in
snd_usb_handle_sync_urb() to prevent oversized packets from entering the
playback queue.
📍 영향받는 시스템
Linux kernel (ALSA usb-audio driver)
⚔️ 공격 벡터
악의적으로 조작된 대형 동기화 패킷을 전송하는 USB 오디오 장치를 연결
🛡️ 대응 방법
snd_usb_handle_sync_urb() 함수 내에서 프레임 크기를 ep->maxframesize로 제한하도록 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인