🇰🇷 한글 설명
Linux 커널의 amdgpu 디스플레이 드라이버에서 CRTC 리셋 함수 실행 중 dangling pointer(허상 포인터)가 발생하는 취약점이 발견되었습니다. 새로운 상태를 할당하기 전에 기존 상태를 먼저 해제하여, 메모리 할당 실패 시 해제된 메모리를 가리키는 포인터가 남게 되는 문제입니다.
💡 쉬운 설명
컴퓨터 화면을 조절하는 프로그램이 메모리를 정리하는 과정에서 실수로 이미 지워진 주소를 계속 붙잡고 있는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Fix dangling pointer in CRTC reset function
amdgpu_dm_crtc_reset_state() frees the old state before allocating
a new one. If kzalloc() fails, the function returns without updating
the state pointer, leaving a dangling pointer to already freed memory.
Fix this by allocating the new state first. On allocation failure, the
old state remains untouched and the function safely returns.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[adjust for movement around current amd-staging-drm-next]
📍 영향받는 시스템
Linux kernel (drm/amd/display 드라이버를 사용하는 AMD GPU 시스템)
⚔️ 공격 벡터
메모리 할당 실패를 유도하여 해제된 메모리 영역에 접근하는 방식의 로컬 공격
🛡️ 대응 방법
최신 Linux 커널 패치 적용 (새 상태를 먼저 할당한 후 기존 상태를 해제하도록 수정된 버전)
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.