🇰🇷 한글 설명
Linux 커널의 ASoC Xilinx formatter_pcm 드라이버에서 open 과정 중 오류가 발생할 경우 stream_data 메모리가 해제되지 않고 누수되는 취약점이 발견되었습니다. 이로 인해 dangling pointer가 발생하여 이후 인터럽트 발생 시 이미 해제된 메모리에 접근하는 Use-After-Free 문제가 발생할 수 있습니다.
💡 쉬운 설명
오디오 장치를 켜는 과정에서 오류가 나면 컴퓨터가 사용하던 메모리를 제대로 치우지 못하고 남겨두는 버그입니다. 이로 인해 나중에 컴퓨터가 이미 버려진 메모리 주소를 다시 사용하려다 시스템이 멈추거나 오류가 날 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: xilinx: formatter_pcm: fix stream_data leak on open error
In xlnx_formatter_pcm_open(), stream_data is allocated and
adata->play_stream or adata->capture_stream is assigned early. If a
later step, such as snd_pcm_hw_constraint_step() or
snd_pcm_hw_constraint_integer(), fails, the function returns the error
immediately. ALSA does not call the close callback when open fails, so
stream_data is leaked and the stream pointer is left dangling, pointing
to a substream that ALSA frees. A later interrupt would then call
snd_pcm_period_elapsed() on the freed substream.
Free stream_data and clear the stream pointer on the error paths.
📍 영향받는 시스템
Linux kernel (ASoC: xilinx: formatter_pcm 드라이버 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 제약 조건 오류를 유도하여 메모리 누수 및 Use-After-Free 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 오류 경로에서 메모리 해제 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.