🇰🇷 한글 설명
Linux 커널의 ALSA usb-audio 드라이버에서 UAC3 헤더 검증 시 프로토콜 버전을 잘못 지정하여 발생하는 취약점입니다. UAC3 장치가 실제 프로토콜 버전과 일치하지 않아 검증을 우회하게 되며, 악의적인 USB 장치가 헤더를 잘라내어 전달할 경우 경계 외 읽기(out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
USB 오디오 장치를 연결할 때 보안 검사를 거쳐야 하는데, 검사 규칙이 잘못 설정되어 검사를 건너뛰게 되는 문제입니다. 이를 통해 조작된 USB 장치를 연결하면 컴퓨터의 메모리 정보를 몰래 읽어갈 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Use correct version for UAC3 header validation
The entry of the validators table for UAC3 AC header descriptor is
defined with the wrong protocol version UAC_VERSION_2, while it should
have been UAC_VERSION_3. This results in the validator never matching
for actual UAC3 devices (protocol == UAC_VERSION_3), causing their
header descriptors to bypass validation entirely. A malicious USB
device presenting a truncated UAC3 header could exploit this to cause
out-of-bounds reads when the driver later accesses unvalidated
descriptor fields.
The bug was introduced in the same commit as the recently fixed UAC3
feature unit sub-type typo, and appears to be from the same copy-paste
error when the UAC3 section was created from the UAC2 section.
📍 영향받는 시스템
UAC3 기능을 지원하는 Linux 커널 기반 시스템 (ALSA usb-audio 드라이버 포함)
⚔️ 공격 벡터
조작된(truncated) UAC3 헤더를 가진 악의적인 USB 오디오 장치를 시스템에 연결
🛡️ 대응 방법
UAC3 헤더 검증 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인