🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 GEM_CREATE 도메인 조합을 검증하지 못하는 취약점이 발견되었습니다. 공격자가 특정 도메인 비트를 부적절하게 조합할 경우, 커널 내 배열 범위를 초과하여 BUG_ON()을 유발하고 시스템을 중단시킬 수 있습니다.
💡 쉬운 설명
그래픽 카드 드라이버가 메모리 사용 방식을 확인하는 과정에서 허용되지 않는 조합을 걸러내지 못하는 문제입니다. 이를 악용하면 컴퓨터 시스템이 갑자기 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: validate GEM_CREATE domain combinations
AMDGPU_GEM_CREATE checked domain bits against AMDGPU_GEM_DOMAIN_MASK,
but did not validate domain combinations. Userspace could combine
CPU|GTT|VRAM with DOORBELL, GDS, GWS, or OA, making
amdgpu_bo_placement_from_domain() exceed AMDGPU_BO_MAX_PLACEMENTS and
hit BUG_ON().
Allow combinations only within CPU/GTT/VRAM, and require non-CPU/GTT/
VRAM domains to be specified one at a time. Return -EINVAL for invalid
combinations in amdgpu_gem_create_ioctl().
v2: Rename helper from amdgpu_gem_domain_valid() to
amdgpu_gem_are_domains_valid() (Christian)
(cherry picked from commit db39852d0c39843cb02048dfb47e4b8c703e9080)
📍 영향받는 시스템
Linux kernel (amdgpu driver 포함 버전)
⚔️ 공격 벡터
사용자 공간(Userspace)에서 amdgpu_gem_create_ioctl을 통해 잘못된 도메인 비트 조합을 전달
🛡️ 대응 방법
amdgpu_gem_create_ioctl에서 도메인 조합을 검증하도록 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인