🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 RAS(Reliability, Availability, and Serviceability) 기능의 참조 카운트 관리 오류로 인해 발생할 수 있는 취약점입니다. 특정 상황에서 인터럽트(IRQ) 자원이 중복 해제되거나 잘못 관리되어 시스템 불안정을 초래할 수 있는 문제가 수정되었습니다.
💡 쉬운 설명
그래픽 카드 드라이버가 컴퓨터의 절전 모드나 종료 과정에서 자원을 정리할 때, 이미 정리된 자원을 다시 정리하려고 시도하는 오류가 있었습니다. 이로 인해 시스템이 멈추거나 오류가 발생할 수 있는 문제를 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu/ras: add ras_suspend callback and use it for cp_ecc_error_irq
cp_ecc_error_irq is acquired in amdgpu_gfx_ras_late_init() but
released in gfx_v9_0_hw_fini(), so the put site has to query
amdgpu_irq_enabled() because the get is skipped on SR-IOV VF.
ras_late_init / ras_fini have no suspend counterpart, so move the
put to amdgpu_gfx_ras_suspend() / amdgpu_gfx_ras_fini() and add a
matching ras_suspend callback that is invoked from
amdgpu_ras_suspend() before disable_all_features(). The get and
put now sit in the same place and check the same condition (not
VF, funcs registered), no refcount querying needed.
An active flag gates ras_fini so the
suspend-then-unload-without-resume path falls into
amdgpu_ras_block_late_fini_default() instead of double-releasing
what ras_suspend already cleaned up.
Drop the cp_ecc_error_irq put from gfx_v9_0_hw_fini(). gfx_v8_0
manages cp_ecc_error_irq locally and is unaffected; no other GFX
generation has this IRQ.
📍 영향받는 시스템
Linux Kernel (amdgpu driver components)
⚔️ 공격 벡터
로컬 시스템에서 특정 하드웨어 상태 변화(절전 모드 진입/해제 등)를 유도하여 발생 가능
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux