🇰🇷 한글 설명
Linux 커널 vmwgfx 드라이버의 backup_handle 변수 미초기화로 인한 정보 유출 취약점입니다. 로컬 공격자가 DRM_IOCTL_VMW_GB_SURFACE_CREATE ioctl을 악용하여 초기화되지 않은 커널 메모리의 민감한 정보를 읽을 수 있습니다.
💡 쉬운 설명
GPU 드라이버가 사용한 메모리를 제대로 비우지 않아서 이전에 저장된 암호나 키 같은 민감한 정보가 메모리에 남아있고, 같은 컴퓨터 접근 권한이 있는 사람이 이를 읽을 수 있습니다. 원격 공격은 불가능하고 로컬 접근만 위험합니다.
🇺🇸 원문 (English)
The vmw_gb_surface_define_ioctl function (accessible via DRM_IOCTL_VMW_GB_SURFACE_CREATE) in drivers/gpu/drm/vmwgfx/vmwgfx_surface.c in the Linux kernel through 4.11.4 defines a backup_handle variable but does not give it an initial value. If one attempts to create a GB surface, with a previously allocated DMA buffer to be used as a backup buffer, the backup_handle variable does not get written to and is then later returned to user space, allowing local users to obtain sensitive information from uninitialized kernel memory via a crafted ioctl call.
📍 영향받는 시스템
Linux kernel 4.11.4 이하 버전, vmwgfx 드라이버 탑재 시스템 (VMware ESXi/Workstation 게스트 OS)
⚔️ 공격 벡터
로컬 사용자 권한으로 crafted ioctl 호출을 통해 커널 메모리의 초기화되지 않은 영역 읽기
🛡️ 대응 방법
Linux 커널을 4.11.5 이상으로 업그레이드하거나 배포판에서 제공하는 보안 패치 적용
🔧 검증 코드
출력이 'VULNERABLE'이면 패치 필요, 5 이상 또는 4.12 이상이면 안전
uname -r | awk -F'[.-]' '{if ($1==4 && ($2<11 || ($2==11 && $3<=4))) print "VULNERABLE"}'