🔍 CVE-2026-43369

5.5
CVSS Score
MEDIUM
2026-05-08
2026-11-06 16:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 AMD GPU 드라이버에서 GPU 초기화 실패 시 IP 블록의 버전 포인터가 NULL이 될 수 있으며, 정리 함수(amdgpu_device_fini_hw)가 NULL 체크 없이 이 포인터를 접근하여 커널 NULL 포인터 역참조 발생. amdgpu_device_set_cg_state와 amdgpu_device_set_pg_state 함수에 NULL 체크를 추가하여 GPU 종료 시에도 안전하게 처리하도록 해결.

💡 쉬운 설명

GPU가 제대로 시작되지 않으면 특정 메모리 주소가 비어있게 되는데, 종료 코드에서 이를 확인하지 않고 접근해서 커널이 충돌합니다. 종료 코드에 '이 주소가 비어있나요?' 확인 단계를 추가해서 안전하게 종료하도록 고쳤습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/amd: Fix NULL pointer dereference in device cleanup When GPU initialization fails due to an unsupported HW block IP blocks may have a NULL version pointer. During cleanup in amdgpu_device_fini_hw, the code calls amdgpu_device_set_pg_state and amdgpu_device_set_cg_state which iterate over all IP blocks and access adev->ip_blocks[i].version without NULL checks, leading to a kernel NULL pointer dereference. Add NULL checks for adev->ip_blocks[i].version in both amdgpu_device_set_cg_state and amdgpu_device_set_pg_state to prevent dereferencing NULL pointers during GPU teardown when initialization has failed. (cherry picked from commit b7ac77468cda92eecae560b05f62f997a12fe2f2)

📍 영향받는 시스템

Linux kernel (AMD GPU driver - amdgpu) 영향받는 버전: 수정 커밋 b7ac77468cda92eecae560b05f62f997a12fe2f2 이전의 모든 버전

⚔️ 공격 벡터

특수한 하드웨어 구성에서 GPU 초기화 실패를 유발하는 로컬 권한 필요 (부팅 시 또는 모듈 로드 시)

🛡️ 대응 방법

Linux 커널을 수정 커밋 b7ac77468cda92eecae560b05f62f997a12fe2f2 이상의 버전으로 업데이트

🔧 검증 코드

커널 소스의 amdgpu_device.c에서 amdgpu_device_set_cg_state 또는 amdgpu_device_set_pg_state 함수 내에 'if (version)' 또는 'if (!version)' NULL 체크가 있는지 확인, 있으면 패치 적용됨

Shell / Script
grep -r 'adev->ip_blocks\[i\]\.version' /usr/src/linux* 2>/dev/null || uname -r | grep -E '(5\.(15|16|17)|6\.[0-9]+)' && echo 'Kernel version check required'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel