🔍 CVE-2021-47142

7.8
CVSS Score
HIGH
2024-03-25
2026-08-04 10:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 amdgpu 드라이버에서 ttm->sg 포인터를 NULL로 설정하지 않아 발생하는 Use-After-Free 취약점입니다. 이 결함은 메모리 해제 후에도 잘못된 주소에 접근하게 하여 시스템 패닉(General Protection Fault)을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터 그래픽 카드를 관리하는 프로그램에서 이미 사용이 끝난 메모리 주소를 지우지 않고 다시 사용하려고 시도하는 오류입니다. 이로 인해 컴퓨터 시스템이 갑자기 멈추거나 오류가 발생하며 꺼질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix a use-after-free looks like we forget to set ttm->sg to NULL. Hit panic below [ 1235.844104] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b7b4b: 0000 [#1] SMP DEBUG_PAGEALLOC NOPTI [ 1235.989074] Call Trace: [ 1235.991751] sg_free_table+0x17/0x20 [ 1235.995667] amdgpu_ttm_backend_unbind.cold+0x4d/0xf7 [amdgpu] [ 1236.002288] amdgpu_ttm_backend_destroy+0x29/0x130 [amdgpu] [ 1236.008464] ttm_tt_destroy+0x1e/0x30 [ttm] [ 1236.013066] ttm_bo_cleanup_memtype_use+0x51/0xa0 [ttm] [ 1236.018783] ttm_bo_release+0x262/0xa50 [ttm] [ 1236.023547] ttm_bo_put+0x82/0xd0 [ttm] [ 1236.027766] amdgpu_bo_unref+0x26/0x50 [amdgpu] [ 1236.032809] amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x7aa/0xd90 [amdgpu] [ 1236.040400] kfd_ioctl_alloc_memory_of_gpu+0xe2/0x330 [amdgpu] [ 1236.046912] kfd_ioctl+0x463/0x690 [amdgpu]

📍 영향받는 시스템

amdgpu 드라이버를 사용하는 Linux 커널 기반 시스템

⚔️ 공격 벡터

로컬 공격자가 특정 ioctl 호출을 통해 GPU 메모리 할당 및 해제 과정을 조작하여 발생 가능

🛡️ 대응 방법

amdgpu 드라이버의 Use-After-Free 패치가 적용된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel