🇰🇷 한글 설명
Linux 커널의 DRM XE 드라이버에서 CPU 캐시 메모리에 대해 XE_COH_NONE 일관성 모드를 사용하는 PAT 인덱스를 허용하지 않도록 검증 로직이 추가되었습니다. 이 취약점은 GPU가 CPU 캐시를 우회하여 DRAM에서 직접 데이터를 읽음으로써, 이전에 해제된 다른 프로세스의 민감한 데이터를 유출할 수 있는 보안 문제를 야기합니다.
💡 쉬운 설명
GPU가 컴퓨터의 임시 저장소(캐시)를 거치지 않고 메모리에서 직접 데이터를 읽을 때, 이전에 사용하던 다른 프로그램의 비밀 정보가 그대로 노출될 수 있는 문제입니다. 이를 방지하기 위해 GPU가 잘못된 방식으로 메모리에 접근하는 것을 막는 보안 패치가 적용되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/xe/uapi: Reject coh_none PAT index for CPU cached memory in madvise
Add validation in xe_vm_madvise_ioctl() to reject PAT indices with
XE_COH_NONE coherency mode when applied to CPU cached memory.
Using coh_none with CPU cached buffers is a security issue. When the
kernel clears pages before reallocation, the clear operation stays in
CPU cache (dirty). GPU with coh_none can bypass CPU caches and read
stale sensitive data directly from DRAM, potentially leaking data from
previously freed pages of other processes.
This aligns with the existing validation in vm_bind path
(xe_vm_bind_ioctl_validate_bo).
v2(Matthew brost)
- Add fixes
- Move one debug print to better place
v3(Matthew Auld)
- Should be drm/xe/uapi
- More Cc
v4(Shuicheng Lin)
- Fix kmem leak issues by the way
v5
- Remove kmem leak because it has been merged by another patch
v6
- Remove the fix which is not related to current fix
v7
- No change
v8
- Rebase
v9
- Limit the restrictions to iGPU
v10
- No change
(cherry picked from commit 016ccdb674b8c899940b3944952c96a6a490d10a)
📍 영향받는 시스템
Linux kernel (DRM XE driver 사용 시스템)
⚔️ 공격 벡터
GPU가 CPU 캐시를 우회하여 DRAM에 직접 접근하는 coh_none 모드를 악용하여 이전 프로세스의 잔류 데이터를 읽음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인