🇰🇷 한글 설명
Linux 커널의 ALSA usb-audio 드라이버에서 snd_usbmidi_output_open() 함수 내 NULL 포트 검사에 사용된 snd_BUG_ON()을 제거하는 패치입니다. 잘못된 엔드포인트 설정을 가진 USB 장치에서는 NULL 포트가 정상적으로 발생할 수 있어 BUG 매크로가 오해를 불러일으킵니다.
💡 쉬운 설명
USB 오디오/MIDI 장치의 설정이 잘못된 경우 커널이 실제 버그인 것처럼 잘못 경고를 출력하던 문제입니다. 이번 수정은 그 잘못된 경고를 제거하는 것입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open()
snd_usbmidi_output_open() has a check of the NULL port with
snd_BUG_ON(). snd_BUG_ON() was used as this shouldn't have happened,
but in reality, the NULL port may be seen when the device gives an
invalid endpoint setup at the descriptor, hence the driver skips the
allocation. That is, the check itself is valid and snd_BUG_ON()
should be dropped from there. Otherwise it's confusing as if it were
a real bug, as recently syzbot stumbled on it.
📍 영향받는 시스템
CVE 수정 이전의 Linux 커널 (ALSA usb-audio 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
악意 있는 USB 장치가 잘못된 엔드포인트 디스크립터를 제공해 커널 경고를 유발할 수 있으나, 권한 상승이나 원격 실행으로 이어지는 공격 경로는 확인되지 않았습니다.
🛡️ 대응 방법
배포판 제공 커널 보안 업데이트를 적용하거나 해당 수정이 포함된 커널 버전으로 업그레이드합니다.
🔧 검증 코드
출력된 커널 버전이 배포판의 보안 업데이트 적용 버전보다 낮으면 취약할 수 있으며, 최신 보안 업데이트 목록과 대조하여 확인합니다.
uname -r; dpkg -l 'linux-image*' 2>/dev/null | grep '^ii' | awk '{print $2, $3}'