🇰🇷 한글 설명
Linux 커널의 AMDGPU GFX6 드라이버에서 컴퓨팅 큐가 그래픽 큐와 동일한 명령 파서 경로를 공유함에 따라 발생하는 취약점입니다. PFP(Packet Fetch Processor)가 컴퓨팅 큐에서도 적절히 처리되지 않아 이전 작업이 완료되기 전에 다음 작업이 실행될 수 있는 동기화 문제가 존재했습니다.
💡 쉬운 설명
그래픽 카드에서 계산 작업을 할 때, 이전 작업이 완전히 끝나지 않았는데 다음 작업을 바로 시작해버리는 오류가 있었습니다. 이로 인해 데이터가 꼬이거나 시스템이 불안정해질 수 있는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu/gfx6: Use PFP on the compute queues too
On GFX6, the compute rings use the same CP path as
the graphics ring. The only difference is that they
don't support draw commands. (As opposed to GFX7 and
newer which have a separate command parser that is
called MEC for compute queues.)
This means that we have to take into consideration
that the PFP also exists on compute queues on GFX6:
Use PFP for register writes on both graphics and
compute queues.
In the pipeline sync, use the PFP to wait for the
previous fence (and not the ME) to prevent the PFP
from starting to execute the next submission while
the ME is still in the previous submission.
After a VM flush, emit PFP_SYNC_ME on compute
queues as well.
📍 영향받는 시스템
Linux Kernel (amdgpu driver, GFX6 architecture)
⚔️ 공격 벡터
로컬 권한을 가진 공격자가 특수하게 조작된 컴퓨팅 명령을 제출하여 동기화 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전과 amdgpu 모듈 정보가 취약점이 해결된 최신 패치 버전인지 확인
uname -r && modinfo amdgpu | grep -i 'version'