🇰🇷 한글 설명
Linux 커널의 amd/display 드라이버에서 메모리 할당 실패 시 NULL 값을 적절히 처리하지 못하는 취약점이 발견되었습니다. 이로 인해 시스템이 절전 모드에서 복귀할 때 NULL 포인터를 참조하게 되어 GPU 리셋 과정 중 시스템 충돌(Crash)이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 잠자기 모드에서 깨어날 때, 메모리 할당 오류로 인해 발생한 빈 데이터를 잘못 참조하여 시스템이 멈추거나 꺼지는 문제입니다. 그래픽 카드 관련 소프트웨어의 오류로 인해 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: check dc_state_create_copy() for NULL in dm_suspend
dc_state_create_copy() can return NULL on allocation failure.
dm_suspend() only conditionally skips dm_gpureset_toggle_interrupts()
and continues execution, returning success. dm_resume() then
dereferences the NULL cached_dc_state in link_enc_cfg_copy() and the
following dc_state->stream_count loop, crashing during GPU reset
recovery.
Return -ENOMEM immediately if the copy fails, so the caller aborts
suspend instead of leaving a NULL cached state for resume.
(cherry picked from commit 84b6d7932fdd2857795a257f9f258562a3cddcab)
📍 영향받는 시스템
Linux Kernel (drm/amd/display 드라이버 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 메모리 부족 상태를 유도하여 시스템 충돌을 일으킬 수 있음 (DoS)
🛡️ 대응 방법
커널 패치를 적용하여 dc_state_create_copy() 실패 시 즉시 -ENOMEM을 반환하도록 업데이트해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.