CVE-2026-90068 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ASoC: dapm: 두 번째 enum 채널의 오프바이원(off-by-one) 검사 수정
snd_soc_dapm_put_enum_double() 함수는 item[0]이 e->items에 도달하면 이를 거부하지만, item[1]은 그 값과 같게 허용합니다. 둘 다 자체 경계가 없는 snd_soc_enum_item_to_val()로 전달되며, 이는 e->values를 인덱싱하므로 값 테이블을 가진 enum의 경우 끝 요소 이후 한 요소를 초과하여 읽습니다.
이러한 인덱싱 방식은 MUX 통합 과정에서 도입되었으며, 동일한 코드 블록에서 item[1] 검사가 완화되었습니다. 이전에 삭제된 value MIX 핸들러는 해당 부분에서 >= 연산을 사용했으며, soc-ops.c의 snd_soc_put_enum_double() 함수도 여전히 이를 수행합니다.
adav80x 쌍만이 두 개의 시프트(shift)와 값 테이블을 결합하며, 그 두 번째 채널은 우연적인 것으로 보이지만 컨트롤은 두 가지 값을 보고합니다. 여기에 세 개를 작성하면 adav80x_mux_values의 끝을 벗어난 메모리를 읽게 됩니다. 코어는 CONFIG_SND_CTL_INPUT_VALIDATION이 활성화된 경우에만 이를 감지하는데, 이 설정은 기본적으로 꺼져 있습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.