VMware Fusion/Workstation SCSI CD/DVD OOB read/write Pwn2Own (CVE-2023-20872)¶
SCSI CD/DVD device emulation'ındaki eksik bounds validation, bir guest'in buffer dışında read/write yapmasına ve host'ta kod çalıştırmasına izin verir.
Mechanism¶
The invariant that is crossed
Bir virtual machine emule device'larını register/command interface'leri üzerinden programlar; hypervisor'ın device-emulation code'u host belleğine dokunmadan önce her guest-sağlanan length ve offset'i doğrulamalıdır. Burada korunan boundary guest → host (VMX process)'tir. CVE-2023-20872, SCSI CD/DVD device-emulation path'inde bir out-of-bounds read ve write'tır: guest'ten gelen bir parametre, host tarafındaki bir buffer'ı düzgün bounds checking olmadan index'lemek/boyutlandırmak için kullanılır, böylece hazırlanmış bir SCSI request emulator'ün allocation'ı aşan belleğe erişmesini sağlar. O buffer host VMX process'inde yaşadığı için OOB write host code execution için bir primitive olur.
Bir precondition (advisory'ye göre) VM'in fiziksel bir CD/DVD sürücüsünün attach edilmiş ve bir virtual SCSI controller kullanacak şekilde yapılandırılmış olmasıdır — vulnerable emulation'a ulaşan path budur.
Walkthrough¶
High-level, VMSA-2023-0008'den ve Pwn2Own 2023 raporundan (STAR Labs) alınmıştır:
- Bir virtual SCSI controller üzerinde fiziksel bir CD/DVD device'lı bir VM'i yapılandırın/kötüye kullanın (erişilebilir konfigürasyon).
- Guest'ten, length/offset field'ları emulator'ün buffer indexing'ini süren SCSI CD/DVD command'larını yapın.
- Hazırlanmış değerler emulator'ün erişimini bounds dışına iter — bir OOB read host verisini sızdırır ve OOB write komşu host (VMX) belleğini corrupt eder.
- Birleşince bunlar attacker'a host VMX process'inde control flow / code execution verir (bir guest-to-host escape).
Spesifik command'lar, offset'ler ve exploitation chain kasten atlanmıştır.
Detection¶
- SCSI/CD-ROM handling etrafında VMX crash/abort'ları ya da device-emulation
assertion'ları gösteren VM'in
vmware.log'u. - Bir CD/DVD device'ına yapılan alışılmadık SCSI command dizileriyle korele
vmware-vmxprocess'inin host crash dump'ları. - Host'ta
vmware-vmx'ten spawn edilen anormal child process'leri işaretleyen EDR. - Bir virtual SCSI controller üzerinde fiziksel bir optical drive ile yapılandırılmış VM'ler için envanter izlemesi (nadir; high-signal).
Mitigation¶
- VMware Workstation 17.0.2 / Fusion 13.0.2'ye patch'leyin (VMSA-2023-0008).
- Advisory'ye göre workaround: CD/DVD device'ını VM'den kaldırın ya da VM'i onun için bir virtual SCSI controller kullanmayacak şekilde yapılandırın.
- Genel hardening: fiziksel host device'larını güvenilmeyen guest'lere attach etmeyin; emule device yüzeyini minimize edin.