🇰🇷 한글 설명
Linux 커널의 libwx 드라이버에서 wx_setup_rx_resources 함수 실행 중 wx_alloc_page_pool()이 실패할 경우 DMA 버퍼가 해제되지 않는 메모리 누수 문제입니다. 오류 경로에 dma_free_coherent() 호출을 추가하여 해결되었습니다.
💡 쉬운 설명
네트워크 카드 드라이버가 오류 상황에서 사용하던 메모리를 반환하지 않아 시스템 메모리가 조금씩 낭비되는 문제입니다. 장시간 운영 시 메모리 부족을 유발할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: libwx: fix memory leak in wx_setup_rx_resources
When wx_alloc_page_pool() failed in wx_setup_rx_resources(), it doesn't
release DMA buffer. Add dma_free_coherent() in the error path to release
the DMA buffer.
📍 영향받는 시스템
패치가 적용되기 전의 Linux 커널 (libwx 기반 Wangxun 10G/1G 네트워크 드라이버 사용 시스템)
⚔️ 공격 벡터
공격자가 직접 악용하기 어려운 로컬 메모리 누수 결함이며, 반복적인 드라이버 초기화 실패 상황에서 서비스 거부(메모리 고갈) 형태로 영향을 줄 수 있습니다.
🛡️ 대응 방법
Linux 커널을 해당 수정 사항이 포함된 최신 안정 버전으로 업데이트하거나 배포판 보안 업데이트를 적용합니다.
🔧 검증 코드
커널 버전이 수정 패치 이후 버전인지 확인하고, libwx 모듈이 없으면 해당 취약점의 영향을 받지 않는 것으로 판단하며, 모듈이 있으면 배포판의 패치 적용 여부를 추가로 점검합니다.
uname -r && (grep -rl wx_setup_rx_resources /lib/modules/$(uname -r) 2>/dev/null | head -1 || echo 'libwx 모듈 미탑재')