🇰🇷 한글 설명
Linux 커널의 ASoC Intel avs 구성 요소에서 init_configs 배열 접근 시 인덱스 검증 오류로 인한 경계 외 참조(Out-of-bounds access) 취약점이 발견되었습니다. 기존 코드가 config_ids 배열의 인덱스를 사용하여 init_configs에 접근할 때, 인덱스 값이 배열 크기를 초과할 수 있는 구조적 결함이 있었습니다.
💡 쉬운 설명
컴퓨터의 소리 관련 설정 데이터를 읽어올 때, 정해진 목록의 범위를 벗어난 잘못된 위치를 참조하여 오류를 일으킬 수 있는 문제입니다. 이로 인해 시스템이 불안정해지거나 예상치 못한 동작이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: Intel: avs: Refactor and fix init_config access
Existing code accesses enties found in ->init_configs array through
indexes that are part of ->config_ids array. Those two are limited by:
->num_init_configs and ->num_config_ids respectively. Using ID larger
or equal to ->num_init_configs leads to out-of-bounds access:
avs_path_module_send_init_configs()
loop:
(...) &acomp->tplg->init_configs[ids[i]]
^ out-of-bounds candidate
Rather than adding another if-statement, refactor the code. There is no
need to store the IDs, have a list of pointers to actual config-entries
instead. As the verification of ->init_config entries does not differ from
verification of other types that are part of the topology.c file, simply
reuse the code.
📍 영향받는 시스템
Intel ASoC avs 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 구성 ID를 전달하여 커널 메모리의 경계 외 영역에 접근하는 방식
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 패치된 최신 버전인지 확인합니다.