🇰🇷 한글 설명
Linux 커널의 RDMA/mlx5 드라이버에서 ODP(On-Demand Paging) 생성 실패 시 XLT(Xlate) 버퍼와 DMA 매핑을 제대로 해제하지 않는 취약점이 발견되었습니다. 이로 인해 메모리 누수가 발생하며, 긴급 XLT 페이지를 사용한 경우 뮤텍스(mutex)가 잠긴 상태로 유지될 수 있습니다.
💡 쉬운 설명
컴퓨터의 특정 부품이 작업을 하다가 오류가 났을 때, 사용했던 메모리를 제대로 돌려주지 않고 계속 붙잡고 있는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해지거나 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/mlx5: Fix UMR XLT cleanup on ODP populate failure
mlx5r_umr_update_xlt() allocates and DMA maps an XLT buffer with
mlx5r_umr_create_xlt(). The buffer is released by the common cleanup path
through mlx5r_umr_unmap_free_xlt().
After mlx5_odp_populate_xlt() became fallible, its error path returned
directly and skipped that cleanup. This leaks the XLT DMA mapping and
buffer. If the emergency XLT page was used, it also leaves
xlt_emergency_page_mutex locked.
Break out of the loop so execution falls through the existing cleanup path.
📍 영향받는 시스템
RDMA/mlx5 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 RDMA 관련 작업을 의도적으로 실패시켜 메모리 누수를 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인