🔍 CVE-2026-63878

0.0
CVSS Score
UNKNOWN
2026-07-19
2026-07-27 17:44
✅ 완료

🇰🇷 한글 설명

Linux 커널의 amdgpu 드라이버에서 GEM_OP GET_MAPPING_INFO 작업 시 num_entries 값에 대한 상한선 검사가 누락된 취약점입니다. 공격자가 매우 큰 num_entries 값을 전달하면 메모리 할당 과정에서 정수 오버플로우가 발생하여 커널 경고 또는 시스템 패닉을 유발할 수 있습니다.

💡 쉬운 설명

그래픽 카드 드라이버가 사용자가 입력한 숫자를 검증 없이 그대로 사용하여 메모리를 할당하려고 시도할 때 발생합니다. 너무 큰 숫자를 입력하면 컴퓨터 시스템이 갑자기 멈추거나 꺼질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: check num_entries in GEM_OP GET_MAPPING_INFO kvcalloc(args->num_entries, sizeof(*vm_entries), GFP_KERNEL) at amdgpu_gem.c:1050 uses the user-supplied num_entries directly without any upper bounds check. Since num_entries is a __u32 and sizeof(drm_amdgpu_gem_vm_entry) is 32 bytes, a large num_entries produces an allocation exceeding INT_MAX, triggering WARNING in __kvmalloc_node_noprof(), causing a kernel WARNING, TAINT_WARN, and panic on CONFIG_PANIC_ON_WARN=y systems. Add a size bounds check before we invoke the kvzalloc() to reject oversized num_entries early with -EINVAL. (cherry picked from commit 1fe7bf5457f6efd7be60b17e23163ba54341d73d)

📍 영향받는 시스템

Linux kernel (amdgpu driver 포함 버전)

⚔️ 공격 벡터

로컬 사용자가 amdgpu 드라이버의 GEM_OP GET_MAPPING_INFO 명령을 통해 조작된 num_entries 값을 전달

🛡️ 대응 방법

amdgpu_gem.c의 kvzalloc 호출 전 num_entries 크기에 대한 경계 검사 로직이 포함된 최신 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 커밋(1fe7bf5457f6efd7be60b17e23163ba54341d73d) 이후 버전인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel