Skip to content

VMware ESXi VMX out-of-bounds write sandbox escape (CVE-2024-22254)

vmx (VMX) process'i içinden erişilebilir bir out-of-bounds write, zaten VMX-process ayrıcalıkları tutan bir attacker'ın VMware ESXi'de device-emulation sandbox'ından kaçmasına izin verir (VMSA-2024-0006, CVSS 7.9).

Mechanism

Note

ESXi'de per-VM vmx worldlet'i, o process'in bir compromise'ı otomatik olarak tam host/VMkernel kontrolü demek olmasın diye device emulation'ı kuşatılmış bir sandbox içinde çalıştırır. Isolation invariant'ı şudur: vmx içinde code ya da data kontrolü elde etmiş bir attacker bile hâlâ sandbox boundary'si tarafından kuşatılmalıdır. CVE-2024-22254, VMX-process context'inden erişilebilir bir out-of-bounds write (CWE-787)'tir: vmx içi bir operasyonun kullandığı bir length/index doğru şekilde sınırlanmaz, dolayısıyla bir write amaçlanan buffer'ının dışına düşer. CVSS scope'u "Changed" olduğu için, o write sandbox'ın amaçlanan kuşatmasının dışındaki state'e ulaşır ve "kuşatılmış vmx içindeki kod"dan "sandbox'ın escape'i"ne yükselir. Bu, ilk guest→vmx foothold'unun kendisi değil, onu takip eden privilege-boundary adımıdır.

Bu, "post-foothold containment break" pattern'idir; VMware ESXi VMX privilege escalation ile ve kernel-write sürücülü escape için VMware ESXi arbitrary kernel write sandbox escape ile karşılaştırın. Primitive'in kendisi düz bir out-of-bounds write'tır.

Walkthrough

Public reference: VMSA-2024-0006 / CVE-2024-22254 (Mart 2024'te yayınlandı). Kavramsal, weaponize edilmemiş yol:

High-level conceptual steps
  1. Attacker'ın vmx process'i içinde zaten ayrıcalıkları olduğunu varsayın — örneğin vmx state'inin kontrolünü veren önceki bir guest→host device-emulation bug'ı yoluyla.
  2. Bir length ya da index'in yeterli bir bounds check olmadan bir buffer'ı adreslemek için kullanıldığı vulnerable code path'ine ulaşın.
  3. O path'i sürün, böylece write amaçlanan buffer'ının dışına, sandbox'ın erişim dışı tutması gereken belleğe düşsün.
  4. Kontrollü out-of-bounds write'ı sandbox-confinement state'ini corrupt etmek için kullanın, kuşatılmış vmx execution'ından bir sandbox escape'e ve daha geniş host erişimine yükselin.

Warning

Bug sınıfı için belgelenmiş, patch'li sorun. Advisory, bireysel ESXi sorunlarının "Important" olduğunu, ama bunları birleştirmenin "Critical"e ulaştığını not eder — bu bug en çok bir zincirin escape aşaması olarak tehlikelidir. Offset, target structure ya da PoC sağlanmamıştır.

Detection

  • Host telemetry: vmx worldlet panic'leri, abort'ları ve core dump'ları; bir vmx world'ünün fault verdiğini ya da integrity check'ler tarafından terminate edildiğini gösteren vmkernel.log kayıtları.
  • Sandbox-boundary anomalies: vmx'in beklenen memory/resource zarfının dışında erişimler denemesi, ESXi sandbox/seccomp tarzı enforcement log'larıyla açığa çıkar.
  • Chained-attack awareness: bir OOB-write sandbox escape tipik olarak bir device-emulation foothold'undan (USB/SVGA/storage/vb.) sonraki ikinci aşamadır. Önceki bir guest-to-vmx corruption sinyalini, aynı VM'deki sonraki bir vmx sandbox violation'ı ile korele edin. CVE-2024-22254'ün kendisi 2025 vahşi doğa zinciri olmasa da, aynı escape pattern'i vahşi doğada exploit edilen CVE-2025-22225'te tekrar eder — bu da sandbox-violation telemetrisini önemli bir IOC kaynağı yapar.

Mitigation

  • VMSA-2024-0006'ya göre patch'leyin: advisory Response Matrix'inde listelenen düzeltilmiş ESXi 7.0 / 8.0 build'lerini (ve o ürünler için ilgili Workstation 17.x / Fusion 13.x düzeltmelerini) uygulayın.
  • Hardening: ilk vmx foothold'unu veren device-emulation attack surface'ini azaltın (ör. gereksiz USB/legacy controller'ları kaldırın); VM-admin erişimini kısıtlayın.
  • Defense-in-depth: ilk foothold başarılı olsa bile containment break tespit edilsin diye vmx sandbox confinement'ını etkin ve izlenir tutun; başarılı bir escape'in blast radius'unu sınırlamak için ESXi management ağını segmente edin.

References