🇰🇷 한글 설명
Linux 커널의 ASoC lpass-wsa-macro 코덱 드라이버에서 열거형(enum) 컨트롤 값을 잘못된 데이터 타입으로 접근하는 취약점이 발견되었습니다. 이로 인해 64비트 커널에서 CONFIG_SND_CTL_DEBUG 설정이 활성화된 경우, 해당 컨트롤을 읽을 때마다 -EINVAL 오류가 발생하며 정상적인 동작이 불가능합니다.
💡 쉬운 설명
오디오 설정 값을 읽어올 때 컴퓨터가 데이터를 잘못된 방식으로 해석하여 오류가 발생하는 문제입니다. 이로 인해 특정 오디오 기능이 제대로 작동하지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: codecs: lpass-wsa-macro: Fix enum kcontrol accesses
EAR SPKR PA Gain" and the four "WSA RX* Mux" controls are enumerated,
but their get and put callbacks access the value through
ucontrol->value.integer.value[0] (a long) instead of
ucontrol->value.enumerated.item[0] (an unsigned int).
This same pattern was fixed in the sibling drivers by
commit bcfe5f76cc40 ("ASoC: codecs: rx-macro: fix accessing array
out of bounds for enum type") and
commit 0ea5eff7c606 ("ASoC: codecs: va-macro: fix accessing array
out of bounds for enum type"), but wsa-macro was missed.
On 64-bit kernels with CONFIG_SND_CTL_DEBUG this trips the elem value
sanity check and every read of these controls fails with -EINVAL.
📍 영향받는 시스템
Linux kernel (ASoC lpass-wsa-macro driver components)
⚔️ 공격 벡터
로컬 시스템에서 오디오 컨트롤 값을 읽거나 쓸 때 발생하는 서비스 거부(DoS) 또는 기능 오류
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 이후의 버전인지 확인하십시오.