🇰🇷 한글 설명
Linux 커널의 dmaengine 내 altera-msgdma 드라이버에서 디스크립터가 리스트에서 제대로 제거되지 않아 발생하는 메모리 누수 취약점입니다. msgdma_free_descriptor 함수에서 리스트 관리 로직을 수정하여 메모리 해제 과정에서 노드가 올바르게 제거되도록 개선되었습니다.
💡 쉬운 설명
컴퓨터가 사용한 메모리를 돌려줄 때, 목록에서 해당 항목을 지우지 않고 남겨두는 실수가 발견되었습니다. 이로 인해 메모리가 계속 쌓여 시스템 성능이 떨어지거나 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: altera-msgdma: properly free descriptor in msgdma_free_descriptor
Remove list_del call in msgdma_chan_desc_cleanup, this should be the role
of msgdma_free_descriptor. In consequence replace list_add_tail with
list_move_tail in msgdma_free_descriptor.
This fixes the path:
msgdma_free_chan_resources -> msgdma_free_descriptors ->
msgdma_free_desc_list -> msgdma_free_descriptor
which does not correctly free the descriptors as first nodes were not
removed from the list.
📍 영향받는 시스템
Altera MSG DMA를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 특정 DMA 작업을 반복 수행하여 메모리 누수를 유도할 수 있음
🛡️ 대응 방법
Altera MSG DMA 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인