🇰🇷 한글 설명
Linux 커널의 ice 드라이버 내 ice_set_ringparam() 함수에서 메모리 누수 취약점이 발견되었습니다. rx_rings 할당 실패 시 tx_rings와 xdp_rings가 해제되지 않거나, Rx 링 설정 중 오류 발생 시 xdp_rings가 해제되지 않는 문제가 있습니다.
💡 쉬운 설명
네트워크 장치를 설정하는 과정에서 오류가 발생하면 컴퓨터의 메모리가 제대로 비워지지 않고 계속 쌓이는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해져 성능이 떨어지거나 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ice: Fix memory leak in ice_set_ringparam()
In ice_set_ringparam, tx_rings and xdp_rings are allocated before
rx_rings. If the allocation of rx_rings fails, the code jumps to
the done label leaking both tx_rings and xdp_rings. Furthermore, if
the setup of an individual Rx ring fails during the loop, the code jumps
to the free_tx label which releases tx_rings but leaks xdp_rings.
Fix this by introducing a free_xdp label and updating the error paths to
ensure both xdp_rings and tx_rings are properly freed if rx_rings
allocation or setup fails.
Compile tested only. Issue found using a prototype static analysis tool
and code review.
📍 영향받는 시스템
Linux kernel (ice driver 사용 시스템)
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 네트워크 설정 변경을 시도하여 메모리 누수를 유발할 수 있음
🛡️ 대응 방법
메모리 누수 패치가 적용된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인