🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 csa_va를 언맵(unmap)하고 제거하는 과정 중 발생하는 취약점입니다. Root PD BO를 VM에서 언맵 및 제거하기 전에 적절히 예약하지 않아 lockdep 경고 및 커널 불안정성을 유발할 수 있습니다.
💡 쉬운 설명
그래픽 카드 드라이버가 메모리를 정리하는 과정에서 순서가 잘못되어 시스템에 오류를 일으키는 문제입니다. 이로 인해 컴퓨터가 갑자기 멈추거나 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: unmap and remove csa_va properly
Root PD BO should be reserved before unmap and remove
a bo_va from VM otherwise lockdep will complain.
v2: check fpriv->csa_va is not NULL instead of amdgpu_mcbp (christian)
[14616.936827] WARNING: CPU: 6 PID: 1711 at drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1762 amdgpu_vm_bo_del+0x399/0x3f0 [amdgpu]
[14616.937096] Call Trace:
[14616.937097] <TASK>
[14616.937102] amdgpu_driver_postclose_kms+0x249/0x2f0 [amdgpu]
[14616.937187] drm_file_free+0x1d6/0x300 [drm]
[14616.937207] drm_close_helper.isra.0+0x62/0x70 [drm]
[14616.937220] drm_release+0x5e/0x100 [drm]
[14616.937234] __fput+0x9f/0x280
[14616.937239] ____fput+0xe/0x20
[14616.937241] task_work_run+0x61/0x90
[14616.937246] exit_to_user_mode_prepare+0x215/0x220
[14616.937251] syscall_exit_to_user_mode+0x2a/0x60
[14616.937254] do_syscall_64+0x48/0x90
[14616.937257] entry_SYSCALL_64_after_hwframe+0x63/0xcd
📍 영향받는 시스템
Linux Kernel (amdgpu driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특정 그래픽 메모리 관리 작업을 유도하여 커널 오류 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인