🇰🇷 한글 설명
Linux 커널의 ASoC simple-mux 드라이버에서 enum 제어 범위 검사 오류가 발견되었습니다. 유효한 인덱스 범위를 초과하는 값이 허용될 경우, 잘못된 mux 상태가 저장되어 GPIO 설정 및 DAPM 업데이트 과정에서 배열 인덱스 범위를 벗어나는 문제가 발생할 수 있습니다.
💡 쉬운 설명
리눅스 오디오 설정 기능에서 허용되지 않는 숫자가 입력되어도 이를 제대로 걸러내지 못하는 결함입니다. 이로 인해 시스템 내부 데이터가 꼬이거나 예상치 못한 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: codecs: simple-mux: Fix enum control bounds check
simple_mux_control_put() rejects values greater than e->items, but
enum control values are zero based. For the two-entry mux used by this
driver, valid values are 0 and 1, so value 2 must be rejected as well.
Accepting e->items can store an invalid mux state, pass it to the GPIO
setter, and pass it on to the DAPM mux update path where it is used as
an index into the enum text array.
Use the same >= e->items check used by the ASoC enum helpers.
📍 영향받는 시스템
Linux kernel (ASoC simple-mux driver 포함 버전)
⚔️ 공격 벡터
잘못된 enum 제어 값을 전달하여 메모리 인덱스 범위를 벗어나게 하는 방식
🛡️ 대응 방법
ASoC enum 헬퍼와 동일하게 >= e->items 체크를 적용한 최신 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 확인합니다.