🇰🇷 한글 설명
Linux 커널의 vboxvideo 드라이버에서 마우스 포인터 모양 데이터를 처리할 때 메모리 범위를 초과하는 쓰기 오류가 발생했습니다. 구조체의 고정 크기 배열을 동적 배열로 교체하여 메모리 접근 오류를 방지합니다.
💡 쉬운 설명
VirtualBox 게스트 OS의 GPU 드라이버에서 마우스 포인터 정보를 처리할 때 할당된 메모리보다 많이 쓰려고 시도했습니다. 이로 인해 시스템 충돌이나 메모리 손상이 발생할 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/vboxvideo: Replace fake VLA at end of vbva_mouse_pointer_shape with real VLA
Replace the fake VLA at end of the vbva_mouse_pointer_shape shape with
a real VLA to fix a "memcpy: detected field-spanning write error" warning:
[ 13.319813] memcpy: detected field-spanning write (size 16896) of single field "p->data" at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 (size 4)
[ 13.319841] WARNING: CPU: 0 PID: 1105 at drivers/gpu/drm/vboxvideo/hgsmi_base.c:154 hgsmi_update_pointer_shape+0x192/0x1c0 [vboxvideo]
[ 13.320038] Call Trace:
[ 13.320173] hgsmi_update_pointer_shape [vboxvideo]
[ 13.320184] vbox_cursor_atomic_update [vboxvideo]
Note as mentioned in the added comment it seems the original length
calculation for the allocated and send hgsmi buffer is 4 bytes too large.
Changing this is not the goal of this patch, so this behavior is kept.
📍 영향받는 시스템
Linux kernel vboxvideo 드라이버 (VirtualBox 게스트 OS, Intel HD Graphics 및 호환 그래픽 칩)
⚔️ 공격 벡터
로컬 권한 필요, 마우스 포인터 변경 작업 중 메모리 오버플로우 트리거
🛡️ 대응 방법
커널을 최신 버전으로 업데이트하거나 vboxvideo 드라이버를 패치된 버전으로 변경
🔧 검증 코드
vboxvideo 모듈이 표시되면 영향받는 시스템임. 표시된 커널 버전이 패치 버전 이상인지 공급업체 업데이트를 통해 확인
lsmod 2>/dev/null | grep vboxvideo && uname -r