🔍 CVE-2026-46655

7.8
CVSS Score
HIGH
2026-09-18
2026-09-30 17:31
✅ 완료

🇰🇷 한글 설명

virtio-win의 Viosock 드라이버에서 IOCTL_SELECT 요청 시 fd_count 값이 32비트 합계 검사를 우회하는 정수 오버플로 취약점이 발견되었습니다. 이로 인해 커널 힙 메모리에서 경계를 벗어난 쓰기가 발생하여 Windows 게스트 내에서 권한 상승이 가능합니다.

💡 쉬운 설명

드라이버가 숫자를 계산하는 과정에서 오류가 발생해, 허용된 범위를 넘어서는 데이터를 메모리에 강제로 써넣을 수 있는 문제입니다. 이를 통해 해커가 일반 사용자 권한에서 관리자 권한을 탈취할 수 있습니다.

🇺🇸 원문 (English)

virtio-win provides Windows paravirtualized drivers for QEMU and KVM. From mm210 until mm320, the Viosock driver permits a low-privilege local process to submit an IOCTL_SELECT request with attacker-controlled VIRTIO_VSOCK_SELECT.Fdss[*].fd_count values that overflow the 32-bit sum used by VIOSockSelect for bounds checking. The wrapped sum can pass the FD_SETSIZE check even though an individual descriptor count is much larger than the expected limit. VIOSockSelectCopyFds then iterates using the unchecked count and writes beyond the allocated pPkt->Fds array in the NonPagedPool kernel heap. Successful exploitation can corrupt kernel memory and enable privilege escalation in a Windows guest running the driver. This issue is fixed in mm320.

📍 영향받는 시스템

virtio-win mm210 버전부터 mm320 미만 버전

⚔️ 공격 벡터

낮은 권한을 가진 로컬 프로세스가 조작된 IOCTL_SELECT 요청을 드라이버에 전송

🛡️ 대응 방법

virtio-win 드라이버를 mm320 이상의 최신 버전으로 업데이트

🔧 검증 코드

출력된 DriverVersion이 mm320 버전보다 낮은지 확인하여 취약 여부를 판단합니다.

Shell / Script
powershell -Command "Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DeviceName -like '*virtio-win*' } | Select-Object DeviceName, DriverVersion"

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Storage Protect Snapshot for Windows