🇰🇷 한글 설명
Linux 커널의 ALSA compress 구성 요소에서 작업 생성 시 오류 처리가 미흡하여 리소스 누수가 발생하는 취약점입니다. DMA 버퍼 할당이나 파일 디스크립터 예약에 실패할 경우, 드라이버의 task_free() 콜백이 호출되지 않아 메모리 및 리소스가 누수될 수 있습니다. 또한, 오류 발생 시에도 작업 생성이 성공한 것으로 잘못 보고될 수 있는 논리적 결함이 포함되어 있습니다.
💡 쉬운 설명
컴퓨터의 소리 관련 기능을 처리하는 과정에서 오류가 발생했을 때, 사용하던 자원을 제대로 정리하지 못하고 남겨두는 버그입니다. 이로 인해 시스템 자원이 계속 낭비되거나 시스템이 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: compress: Fix task creation error unwind
snd_compr_task_new() allocates the driver task before validating the
returned DMA buffers and reserving file descriptors. When either of
those later steps fails, the core frees its task wrapper and DMA-buffer
references without calling the driver's task_free() callback. Any
driver resources allocated by task_create() are therefore leaked.
The dual-fd allocation path also jumps to cleanup without storing the
negative get_unused_fd_flags() result in retval. Since retval still
contains the successful task_create() return value, TASK_CREATE can
incorrectly report success although the task was discarded.
Preserve the fd allocation errors and call task_free() when failure
occurs after a successful task_create() callback.
📍 영향받는 시스템
Linux Kernel (ALSA compress 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 조건에서 ALSA 압축 작업을 반복적으로 생성 및 실패시켜 리소스 고갈 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인