🇰🇷 한글 설명
Linux 커널의 amdxdna 드라이버에서 디버그 BO 동기화 시 호출자 클라이언트 대신 객체 상태인 클라이언트 포인터를 사용하여 발생하는 취약점입니다. 이로 인해 핸들 네임스페이스와 하드웨어 컨텍스트 소유자가 일치하지 않아 보안 경계가 무너질 수 있습니다. 이를 해결하기 위해 ioctl 컨텍스트와 일치하는 driver_priv를 사용하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 그래픽 처리 장치(AMD XDNA)를 제어하는 소프트웨어에서 권한 확인 과정에 오류가 있는 상태입니다. 잘못된 정보를 참조하여 다른 사용자의 영역에 접근할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
accel/amdxdna: Use caller client for debug BO sync
amdxdna_drm_sync_bo_ioctl() looks up args->handle in the ioctl caller's
drm_file. For SYNC_DIRECT_FROM_DEVICE, it then calls
amdxdna_hwctx_sync_debug_bo(), but passes abo->client.
amdxdna_hwctx_sync_debug_bo() uses the passed client both as the handle
namespace for debug_bo_hdl and as the owner of the hardware context xarray.
Those must match the file that supplied args->handle. The BO's stored
client pointer is object state, not the ioctl context.
Pass filp->driver_priv instead, matching the original handle lookup.
📍 영향받는 시스템
Linux kernel (amdxdna driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 ioctl 호출을 통해 커널 메모리 또는 하드웨어 컨텍스트에 비정상적으로 접근
🛡️ 대응 방법
amdxdna 드라이버의 보안 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인