🇰🇷 한글 설명
Linux 커널의 MediaTek mt8195 ASoC 드라이버에서 발생한 취약점으로, 특정 코드 수정 과정에서 DAI 링크의 플랫폼 엔트리가 누락되어 발생합니다. 이로 인해 mtk_soundcard_common_probe() 함수 실행 중 KASAN out-of-bounds 경고가 발생할 수 있습니다.
💡 쉬운 설명
사운드 장치를 작동시키는 과정에서 데이터가 들어갈 공간이 부족하여 시스템이 오류를 일으키는 문제입니다. 이 오류로 인해 시스템이 불안정해지거나 예기치 않은 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: mediatek: mt8195: Add platform entry for ETDM1_OUT_BE dai link
Commit e70b8dd26711 ("ASoC: mediatek: mt8195: Remove afe-dai component
and rework codec link") removed the codec entry for the ETDM1_OUT_BE
dai link entirely instead of replacing it with COMP_EMPTY(). This worked
by accident as the remaining COMP_EMPTY() platform entry became the codec
entry, and the platform entry became completely empty, effectively the
same as COMP_DUMMY() since snd_soc_fill_dummy_dai() doesn't do anything
for platform entries.
This causes a KASAN out-of-bounds warning in mtk_soundcard_common_probe()
in sound/soc/mediatek/common/mtk-soundcard-driver.c:
for_each_card_prelinks(card, i, dai_link) {
if (adsp_node && !strncmp(dai_link->name, "AFE_SOF", strlen("AFE_SOF")))
dai_link->platforms->of_node = adsp_node;
else if (!dai_link->platforms->name && !dai_link->platforms->of_node)
dai_link->platforms->of_node = platform_node;
}
where the code expects the platforms array to have space for at least one entry.
Add an COMP_EMPTY() entry so that dai_link->platforms has space.
📍 영향받는 시스템
MediaTek mt8195 플랫폼을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 특정 사운드 하드웨어 구성 요소를 조작하여 메모리 경계 외 접근을 유도할 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트하거나 커널 패치를 적용하십시오.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 수정된 패치가 포함된 버전인지 확인하십시오.