🇰🇷 한글 설명
Linux 커널의 fastrpc 모듈 내 fastrpc_map_lookup 함수에서 dma_buf 객체의 참조 횟수를 적절히 해제하지 않아 발생하는 메모리 누수 취약점입니다. dma_buf_get을 통해 획득한 참조를 함수 종료 시 dma_buf_put으로 해제하지 않아 메모리가 계속 점유되는 문제가 있었습니다.
💡 쉬운 설명
시스템이 데이터를 처리하기 위해 메모리 사용권을 빌려온 뒤, 사용이 끝났음에도 이를 반납하지 않아 메모리가 계속 낭비되는 문제입니다. 이 현상이 반복되면 시스템의 메모리가 부족해져 성능 저하나 시스템 중단이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
misc: fastrpc: Fix dma_buf object leak in fastrpc_map_lookup
In fastrpc_map_lookup, dma_buf_get is called to obtain a reference to
the dma_buf for comparison purposes. However, this reference is never
released when the function returns, leading to a dma_buf memory leak.
Fix this by adding dma_buf_put before returning from the function,
ensuring that the temporarily acquired reference is properly released
regardless of whether a matching map is found.
Rule: add
📍 영향받는 시스템
dma_buf 및 fastrpc 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 fastrpc 관련 시스템 호출을 반복적으로 수행하여 메모리 고갈 유도
🛡️ 대응 방법
fastrpc_map_lookup 함수 내에 dma_buf_put을 추가하여 메모리 참조를 해제하는 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인