🇰🇷 한글 설명
Linux 커널의 RDMA/mlx5 드라이버에서 GET_DATA_DIRECT_SYSFS_PATH 핸들러 처리 중 메모리 누수 취약점이 발견되었습니다. 장치 경로의 길이가 출력 버퍼보다 길 경우, 오류를 반환하면서 할당된 메모리를 해제하지 않아 발생합니다.
💡 쉬운 설명
특정 명령을 실행할 때 컴퓨터의 메모리가 제대로 정리되지 않고 계속 쌓이는 문제가 있습니다. 이 문제가 반복되면 시스템의 메모리가 부족해져 성능이 떨어지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/mlx5: Fix memory leak in GET_DATA_DIRECT_SYSFS_PATH handler
The UVERBS_HANDLER(MLX5_IB_METHOD_GET_DATA_DIRECT_SYSFS_PATH) function
allocates memory for the device path using kobject_get_path(). If the
length of the device path exceeds the output buffer length, the function
returns -ENOSPC but does not free the allocated memory, resulting in a
memory leak.
Add a kfree() call to the error path to ensure the allocated memory is
properly freed.
Compile tested only. Issue found using a prototype static analysis tool
and code review.
📍 영향받는 시스템
RDMA/mlx5 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 사용자가 특수하게 조작된 긴 장치 경로를 요청하여 메모리 누수를 유발
🛡️ 대응 방법
커널 패치를 적용하여 오류 발생 시 메모리를 해제하는 kfree() 호출이 포함된 최신 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 확인