🇰🇷 한글 설명
Linux 커널의 ASoC DAPM 구성 요소에서 두 번째 열거형 채널에 대한 오프바이원(off-by-one) 체크 오류가 발견되었습니다. 이로 인해 특정 상황에서 배열의 경계를 벗어난 메모리 읽기가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 데이터를 읽을 때 정해진 범위를 아주 살짝 벗어나서 읽는 실수가 있는 상태입니다. 이로 인해 시스템의 잘못된 정보를 읽어올 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: dapm: Fix off-by-one check on the second enum channel
The snd_soc_dapm_put_enum_double() rejects item[0] once it reaches
e->items, but it lets item[1] be equal to it. Both go on to
snd_soc_enum_item_to_val(), which indexes e->values with no bound of
its own, so an enum with a value table reads one element past the end.
The indexing arrived with the MUX consolidation, which relaxed the
item[1] check in the same hunk. The value MUX handler it deleted used
>= there, and the snd_soc_put_enum_double() in soc-ops.c still does.
Only adav80x pairs a value table with two shifts, and its second
channel looks accidental, but the control does report two values.
Writing three into it reads off the end of adav80x_mux_values. The
core catches that only under CONFIG_SND_CTL_INPUT_VALIDATION, which
defaults off.
📍 영향받는 시스템
Linux Kernel (ASoC/DAPM 관련 모듈 사용 시스템)
⚔️ 공격 벡터
잘못된 인덱스 값을 가진 제어 입력을 통해 메모리 경계 밖의 데이터를 읽는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.