🔍 CVE-2026-99148

7.0
CVSS Score
HIGH
2026-10-28
2026-10-31 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 AMDGPU 드라이버에서, GEM 핸들을 하나 닫을 때 같은 BO를 가리키는 다른 핸들이 남아 있어도 사용자 큐의 eviction fence가 제거되는 문제가 수정되었습니다. 이로 인해 사용자 큐가 여전히 접근 중인 BO가 일시 중단 없이 퇴거될 수 있었습니다. 수정은 bo_va의 마지막 참조가 사라질 때만 fence를 분리하도록 변경합니다.

💡 쉬운 설명

그래픽 카드 드라이버가 같은 메모리 덩어리를 가리키는 손잡이 중 하나만 닫아도 보호 장치를 풀어버리는 버그입니다. 이 때문에 다른 작업이 아직 쓰고 있는 메모리가 보호 없이 옮겨질 수 있었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: keep the eviction fence until the last handle is closed amdgpu_gem_object_close() detaches the user queue eviction fence from the BO before it checks bo_va->ref_count, so closing any handle of a BO removes the fence, even when the file still has another handle to the BO and the bo_va with its GPU mappings stays. The BO can then be evicted without suspending the user queues of the file, which keep accessing it through mappings that are only marked for update. Seen on navi31 with a SDMA user queue: a BO opened twice in the same file (GEM_FLINK + GEM_OPEN) loses its eviction fence when the second handle is closed (traced attach/detach of the fence): attach bo=ffff8c78a6c84c00 GEM_CLOSE handle=7 detach bo=ffff8c78a6c84c00 while handle 6 and the mapping are still in use. Only detach the fence when the last reference to the bo_va goes away, matching amdgpu_gem_object_open(), which attaches it only when the bo_va is created. With this the fence stays until the file is closed. (cherry picked from commit 8387982f03d4026b7dc11b0b5e3118298eee4d6a)

📍 영향받는 시스템

AMD GPU용 amdgpu 드라이버를 사용하는 Linux 커널 (수정 커밋 이전 버전, 예: navi31 등 RDNA 3 계열 GPU 사용 시스템)

⚔️ 공격 벡터

로컬 사용자 권한으로 같은 BO를 두 번 열고 하나의 핸들을 닫아 eviction fence를 제거한 뒤 메모리 퇴거 상태를 악용하는 방식이 가능하다고 알려져 있습니다.

🛡️ 대응 방법

커널을 해당 CVE 수정이 포함된 최신 안정 버전 또는 배포판 보안 업데이트로 업그레이드하고 재부팅합니다.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지나 kernel.org의 수정 포함 버전과 비교하여, 해당 수정이 적용된 버전 이상이면 패치된 것입니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel