🇰🇷 한글 설명
Linux 커널의 ASoC SOF ipc3-control 구성 요소에서 힙 오버플로우 취약점이 발견되었습니다. 데이터 길이를 검증할 때 구조체 크기를 고려하지 않아, 사용자 데이터가 할당된 버퍼의 범위를 초과하여 쓰거나 읽을 수 있는 결함이 있습니다.
💡 쉬운 설명
컴퓨터 메모리에 데이터를 저장할 때 정해진 방 크기보다 더 많은 데이터를 넣으려고 시도할 수 있는 오류입니다. 이를 통해 해커가 시스템의 중요한 정보를 훔쳐보거나 시스템을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: SOF: ipc3-control: Fix heap overflow in bytes_ext put/get
The ipc_control_data buffer is allocated as kzalloc(max_size), where
max_size covers the entire struct sof_ipc_ctrl_data including its
flexible array payload. However, the bounds checks in bytes_ext_put
and _bytes_ext_get compared user data lengths against max_size
directly, ignoring that cdata->data sits at an offset of
sizeof(struct sof_ipc_ctrl_data) bytes into the allocation.
This allowed writing up to sizeof(struct sof_ipc_ctrl_data) bytes past
the end of the heap buffer from unprivileged userspace via the ALSA TLV
kcontrol interface, and similarly allowed over-reading adjacent heap
data on the get path.
Fix all bounds checks to subtract sizeof(*cdata) from max_size so they
reflect the actual space available at the cdata->data offset. Also fix
the error-path restore in bytes_ext_put which wrote to cdata->data
instead of cdata, causing the same overflow.
📍 영향받는 시스템
Linux Kernel (ASoC SOF ipc3-control 관련 모듈 사용 시스템)
⚔️ 공격 벡터
권한이 없는 사용자가 ALSA TLV kcontrol 인터페이스를 통해 조작된 데이터를 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.