🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 aperture 매핑 해제 순서 오류로 인해 발생하는 취약점입니다. 장치 초기화 실패 시 devres 해제 과정에서 메모리 매핑이 먼저 해제되어, 이후 소프트웨어 종료 콜백이 잘못된 포인터에 접근하여 커널 페이지 폴트(Kernel Page Fault)를 유발합니다.
💡 쉬운 설명
컴퓨터 그래픽 카드를 작동시키는 과정에서 오류가 발생해 작업을 취소할 때, 메모리 정리 순서가 잘못되어 시스템이 충돌하는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Revert "drm/amdgpu: fix aperture mapping leak"
devres teardown is LIFO. The aperture devres node was registered after
the DRM device node, so devres_release_all() unmaps the aperture before
the DRM device release callback fires amdgpu_device_fini_sw(). IP
sw_fini callbacks (e.g. vcn_v4_0_sw_fini) write to fw_shared through a
pointer derived from aper_base_kaddr, causing a kernel page fault on
probe failure / rollback:
BUG: unable to handle page fault ... PMD 0
RIP: vcn_v4_0_sw_fini+0x7b/0x170 [amdgpu]
Call Trace:
amdgpu_device_fini_sw
amdgpu_driver_release_kms
devm_drm_dev_init_release
devres_release_all
This reverts commit d871e99879cb5fd1fa798b006b4888887e63a17a.
(cherry picked from commit 336e0cd576817ac64a4b394ca2b3680029f3e37f)
📍 영향받는 시스템
Linux kernel (amdgpu driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 장치 드라이버 초기화 실패를 유도하여 커널 패닉(DoS)을 일으킬 수 있음
🛡️ 대응 방법
해당 수정 사항이 반영된 최신 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 amdgpu 관련 패치가 적용된 최신 버전인지 확인하십시오.