🇰🇷 한글 설명
Linux 커널의 wilc1000 Wi-Fi 드라이버에서 버스 획득 실패 시 DMA 버퍼가 해제되지 않고 누수되는 취약점이 발견되었습니다. 함수 초기 단계에서 오류가 발생할 경우 메모리를 해제하지 않고 즉시 반환하는 코드가 원인이었습니다.
💡 쉬운 설명
Wi-Fi 장치를 작동시키는 과정에서 오류가 발생하면 컴퓨터의 메모리가 제대로 정리되지 않고 계속 쌓이는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해져 성능이 떨어지거나 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: wilc1000: fix dma_buffer leak on bus acquire failure
wilc_wlan_firmware_download() allocates dma_buffer with kmalloc() at
the top of the function and uses a 'fail:' label to free it via
kfree(dma_buffer) on error.
All later error paths correctly use 'goto fail' to route through this
cleanup. However, the early failure path after the first acquire_bus()
call uses a bare 'return ret;', which leaks dma_buffer whenever the bus
acquire fails.
Replace the early return with goto fail so the existing cleanup path
runs.
Found via a custom Coccinelle semantic patch hunting for kmalloc'd
locals leaked on early-return error paths in driver firmware-download
code.
📍 영향받는 시스템
Linux kernel (wilc1000 Wi-Fi driver 포함 버전)
⚔️ 공격 벡터
직접적인 공격보다는 시스템의 지속적인 메모리 고갈을 유도하는 DoS(서비스 거부) 가능성
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.