Skip to content

VMware SVGA out-of-bounds read guest-to-host RCE (CVE-2018-6974)

SVGA video device emulation'ındaki bir out-of-bounds read, guest yazılımının host üzerinde kod çalıştırmasına izin verebilir.

Mechanism

İhlal edilen invariant

SVGA video-device emulation, graphics operation'larını tanımlayan guest'in sağladığı veriyi işler. Korunan sınır guest → host code execution'dır. CVE-2018-6974, SVGA device'ında guest'in sağladığı verinin validate edilmemesine dayanan bir out-of-bounds read'dir (CWE-125). Bir OOB read öncelikle komşu host belleğini leak eder; primary impact host-memory bilgi sızıntısıdır. NVD/VMware advisory'sinin ifadesiyle bu sorun guest'in host üzerinde kod çalıştırmasına ("may allow a guest to execute code on the host") izin verebilir — yani host code execution, kontrolsüz SVGA input'unun bu OOB read'i üzerinden açığa çıkan layout/leak'in exploit edilmesine atfedilir; cited source'lar ayrı bir heap-overflow primitive'ini dokümante etmez. İhlal edilen invariant, guest'in kontrol ettiği SVGA input'u üzerindeki spatial memory safety'dir.

Kritik guest-to-host escape; Haziran 2018'de raporlandı, Ekim 2018'de VMSA-2018-0026'da (0021 değil) düzeltildi.

Walkthrough

VMSA-2018-0026 ve public disclosure'dan, yüksek seviyeden:

  1. Guest, boyut/offset alanları düzgün validate edilmeyen hazırlanmış SVGA device input'u gönderir.
  2. Emulator out of bounds okur ve komşu host belleğini açığa çıkarır (ASLR'yi yenerek / object'leri konumlandırarak).
  3. O bilgiyi corruption surface'iyle birlikte kullanarak saldırgan, host process'inde bir write/control primitive'i sürer ve code execution'a ulaşır (guest escape).

Detection

  • Bir guest için vmware.log SVGA hataları ve vmware-vmx crash'leri/ backtrace'leri.
  • Host memory-safety telemetry (instrumented build'lerde OOB-read detection, SVGA code path'lerinde crash signature'ları).
  • 3D/SVGA operation'larının ardından anormal VMX-process aktivitesini işaretleyen EDR.

Mitigation

  • VMSA-2018-0026'yı uygula (ESXi 6.0/6.5/6.7 patch'leri, Workstation 14.1.3, Fusion 10.1.3).
  • Untrusted guest'ler için 3D acceleration'ı disable et / SVGA surface'i minimize et.
  • leak→corrupt zincirini körleştirmek için host ASLR/DEP ve allocator hardening'i enabled tut.

References