🇰🇷 한글 설명
Linux 커널의 spacemit 네트워크 드라이버에서 emac_tx_mem_map() 함수의 오류 처리 결함으로 인한 DMA 메모리 누수 취약점입니다. 매핑 오류 발생 시 할당된 DMA 메모리가 정상적으로 해제되지 않아 메모리 누수를 일으킵니다.
💡 쉬운 설명
네트워크 드라이버가 메모리를 정리하지 않고 누수시키는 버그입니다. 시스템을 오래 사용하면 메모리가 부족해져 성능이 저하되거나 시스템이 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: spacemit: Fix error handling in emac_tx_mem_map()
The DMA mappings were leaked on mapping error. Free them with the
existing emac_free_tx_buf() function.
📍 영향받는 시스템
Linux 커널 (spacemit EMAC 드라이버 포함된 모든 버전, 패치 적용 전)
⚔️ 공격 벡터
로컬 공격자가 네트워크 인터페이스를 통해 오류 조건을 반복적으로 트리거하여 메모리 누수 악화
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 emac_free_tx_buf() 함수를 통한 메모리 해제 로직 적용
🔧 검증 코드
커널 버전과 spacemit EMAC 드라이버 활성화 여부를 확인하며, 패치된 버전에서는 드라이버가 최신 코드로 컴파일되었는지 확인할 수 있습니다.
uname -r | grep -E '[0-9]+\.[0-9]+' && grep -i 'spacemit\|emac' /boot/config-$(uname -r) 2>/dev/null | head -1