🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 메모리 해제 방식의 오류로 인해 메모리 오염이 발생할 수 있는 취약점입니다. kvcalloc()으로 할당된 vmalloc 메모리를 kfree()로 해제할 때 발생하는 문제를 kvfree()를 사용하도록 수정하여 해결했습니다.
💡 쉬운 설명
컴퓨터의 그래픽 카드 드라이버가 메모리를 정리하는 과정에서 잘못된 도구를 사용하여 시스템 오류를 일으킬 수 있는 문제입니다. 이 오류는 시스템을 불안정하게 만들거나 보안 문제를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Use kvfree instead of kfree in amdgpu_gmc_get_nps_memranges()
amdgpu_discovery_get_nps_info() internally allocates memory for ranges
using kvcalloc(), which may use vmalloc() for large allocation. Using
kfree() to release vmalloc memory will lead to a memory corruption.
Use kvfree() to safely handle both kmalloc and vmalloc allocations.
Compile tested only. Issue found using a prototype static analysis tool
and code review.
📍 영향받는 시스템
Linux kernel (amdgpu driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 메모리 할당 시나리오를 유도하여 메모리 오염을 일으킴
🛡️ 대응 방법
amdgpu 드라이버의 수정 사항이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 버전인지 확인