🇰🇷 한글 설명
리눅스 커널의 radeon 드라이버에서 radeon_ring_restore() 함수가 락(lock) 획득에 실패할 경우 할당된 메모리를 해제하지 못하는 메모리 누수 취약점이 발견되었습니다. GPU 리셋이 반복될 때마다 링 백업 버퍼가 해제되지 않아 커널 메모리가 점진적으로 고갈될 수 있습니다.
💡 쉬운 설명
그래픽 카드를 초기화하는 과정에서 오류가 발생하면 컴퓨터의 메모리가 제대로 비워지지 않고 계속 쌓이는 문제입니다. 이 현상이 반복되면 컴퓨터의 메모리가 부족해져 시스템이 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/radeon: fix memory leak in radeon_ring_restore() on lock failure
radeon_ring_restore() takes ownership of the data buffer allocated by
radeon_ring_backup(). The caller (radeon_gpu_reset()) only frees it in
the non-restore branch; in the restore branch it relies on
radeon_ring_restore() to free it.
If radeon_ring_lock() fails, the function returned early without calling
kvfree(data), leaking the ring backup buffer on every GPU reset that
fails at the lock stage. During repeated GPU resets this causes
cumulative kernel memory exhaustion.
Free data before returning the error.
📍 영향받는 시스템
Linux kernel (drm/radeon driver)
⚔️ 공격 벡터
GPU 리셋을 유도하여 반복적인 메모리 누수 발생 (로컬/물리적 접근 필요)
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.