🇰🇷 한글 설명
Linux 커널의 drm/vmwgfx 드라이버에서 DX 컨텍스트가 없는 상태로 DX_BIND_QUERY 명령을 처리할 때 NULL 포인터 역참조가 발생합니다. 공격자가 특정 명령 스트림을 제출하면 커널이 비정상 종료(Kernel Oops)될 수 있는 취약점입니다.
💡 쉬운 설명
컴퓨터의 그래픽 처리 과정에서 잘못된 명령을 보내 시스템을 강제로 멈추게 만들 수 있는 오류입니다. 특수한 명령을 보내면 운영체제의 핵심 부분인 커널이 충돌하여 시스템이 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/vmwgfx: reject DX_BIND_QUERY without a DX context
vmw_cmd_dx_bind_query() unconditionally dereferences
sw_context->dx_ctx_node->ctx. Userspace can trigger a NULL pointer
dereference from any render-node fd by submitting an execbuf with
dx_context_handle == SVGA3D_INVALID_ID and a SVGA_3D_CMD_DX_BIND_QUERY
opcode in the command stream: dx_ctx_node is left NULL and the kernel
oopses on the assignment. The same NULL is then re-read in
vmw_resources_reserve() via vmw_context_get_dx_query_mob().
All sibling DX handlers fail-close on a missing dx_ctx_node using
VMW_GET_CTX_NODE(). Use the same pattern here, returning -EINVAL up
front before any relocation state is published.
📍 영향받는 시스템
Linux kernel (drm/vmwgfx driver components)
⚔️ 공격 벡터
사용자 공간에서 유효하지 않은 DX 컨텍스트 핸들을 포함한 SVGA_3D_CMD_DX_BIND_QUERY 명령을 커널에 제출
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 DX 컨텍스트 유효성 검사 로직을 적용해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.