Skip to content

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:

  1. 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).
  2. Guest'ten, length/offset field'ları emulator'ün buffer indexing'ini süren SCSI CD/DVD command'larını yapın.
  3. 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.
  4. 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-vmx process'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.

References