Skip to content

VMware ESXi arbitrary kernel write sandbox escape (CVE-2025-22225)

VMX process'i zaten kontrol eden bir attacker, keyfi bir VMkernel write tetikleyerek VMX sandbox'ından hypervisor kernel'ine kaçabilir.

Mechanism

Bug class: bir sandbox'tan kaçan arbitrary kernel write / write-what-where (CWE-787 + CWE-123)

ESXi her VM'in device emulation'ını, kendisi VMkernel'den ayrı sandbox'lanmış olan per-VM bir VMX user-space process'ine hapseder. VMX kernel ile kısıtlı bir interface üzerinden konuşur; kernel'in, VMX tarafındaki bir compromise kernel tarafındaki bir compromise'a dönüşemesin diye VMX'in sağladığı her address ve length'i doğrulaması beklenir.

CVE-2025-22225 bu doğrulamayı kırar: compromise olmuş bir VMX'ten kaynaklanan bir request, kernel'in attacker'ın etkilediği bir address'e bir write yapmasına yol açar, yani VMkernel context'inde bir write-what-where primitive'i. Geçilen boundary VMX sandbox -> VMkernel (hypervisor)'dır. İhlal edilen invariant şudur: "kernel, sandbox boundary boyunca aldığı her pointer/length'i bağımsız olarak bound-check etmelidir; VMX'in sağladığı adreslemeye asla güvenemez."

Bu bir zincirin ikinci halkasıdır, giriş noktası değil

Precondition, VMX process'i içinde zaten privilege tutuyor olmaktır. Vahşi doğada bu, bir guest-to-VMX memory-corruption bug'ı (ör. bir HGFS/host interface sorunu) ile eşleştirildi, böylece guest önce VMX'i compromise eder sonra kernel'e ulaşmak için CVE-2025-22225 kullanır. Onu çok-bug'lı bir exploit'in escape aşaması olarak ele alın.

Kardeş bug'tan farkı

Bunu VMware ESXi VMX out-of-bounds write sandbox escape (CVE-2024-22254) ile karıştırmayın: o bug, write'ı vmx user-space process'inin içinde (VMX→VMkernel boundary'sine dokunmadan) yapan bir out-of-bounds write iken; CVE-2025-22225 burada VMX→VMkernel interface'inde eksik bound check sayesinde doğrudan VMkernel context'inde keyfi bir write-what-where verir. Farklı CVE, farklı advisory (VMSA-2025-0004 vs VMSA-2024-0006) ve farklı boundary.

Walkthrough

High-level conceptual reproduction (from VMSA-2025-0004 / NVD)

Yalnızca kavramsal, chain düzeyinde görünüm:

  1. Stage 1 — VMX'i ele geçirin. Per-VM VMX process'i içinde code execution ya da arbitrary R/W kazanmak için ayrı bir guest-to-host bug kullanın. (Burada kapsam dışı; bu belgelenmiş precondition "privileges within the VMX process"'tir.)
  2. Kernel interface'ine ulaşın. VMX'ten, attacker'ın seçtiği bir hedef address/length taşıyarak VMkernel'e geçen request'i yapın.
  3. Arbitrary kernel write. Eksik/yetersiz bound check, kernel'in attacker-kontrollü veriyi attacker'ın seçtiği bir kernel konumuna yazmasına izin verir — bir write-what-where primitive'i.
  4. Sandbox escape. Kernel write'ı VMkernel kontrolüne dönüştürün (ör. bir function pointer ya da privilege/credential structure'ı patch'leyin), VMX sandbox'ından tam host compromise'a escape'i tamamlayın.

Catalogue altitude

Spesifik offset'ler, tam kernel interface/opcode'u ve conversion-to-RIP gadget chain'i kasten atlanmıştır. Çıkarım primitive sınıfı (VMX'ten ulaşılan kernel write-what-where) ve doğrulamanın nereye ait olduğudur.

Detection

  • VMX crashes / core dumps: Başarısız escape girişimleri çoğu zaman önce VMX'i istikrarsızlaştırır — belirli bir VM'de VMX panic'leri ve vmx-zdump.* core dump'ları için vmware.log'u izleyin.
  • VMkernel anomalies: Tek bir VM'in aktivitesiyle korele vmkernel.log PSOD'leri (purple screen) ya da kernel fault'ları, denenmiş/kısmi bir kernel write'a işaret eder. Guest sürücülü aktiviteden tetiklenen bir VMkernel crash'i high-signal'dır.
  • hostd.log / vpxa.log: Tek bir VM'e bağlı beklenmedik world (process) termination'ları ve restart'ları, özellikle VMX core dump'larının yanında.
  • Integrity baselines: ESXi Secure Boot + execInstalledOnly ve host attestation kullanın; bir VMX crash patlamasından sonra beklenmedik execution ya da değişmiş VMkernel state triage'a değer. Tekrarlayan VMX-sonra-VMkernel fault dizilerini rutin istikrarsızlık değil, bir escape girişimi olarak ele alın.

Mitigation

Patch

VMSA-2025-0004'e göre düzeltmeleri uygulayın. NVD'ye göre düzeltilmiş build'ler ESXi70U3s-24585291 (7.0), ESXi80U3d-24585383 ve ESXi80U2d-24585300 (8.0) ile ilgili VMware Cloud Foundation / Telco Cloud Platform güncellemelerini içerir. Bu CVE vahşi doğada exploit edildiği raporlanmıştır ve CISA'nın KEV kataloğundadır — öncelikli olarak patch'leyin.

  • Patch'ten önce defense in depth: Zincirin ilk aşamasını kırmak için guest-to-VMX yüzeyini azaltın (gereksiz emule device'ları kaldırın; kullanılmadığı yerde host-guest file sharing / HGFS'yi devre dışı bırakın).
  • Hardening: Secure Boot, execInstalledOnly ve TPM-tabanlı host attestation'ı etkinleştirin; lockdown mode ve least-privilege management erişimini zorunlu kılın.
  • Management'i segmente edin: ESXi management ağını izole edin ve yukarıdaki VM-korele VMX/VMkernel crash pattern'lerini izleyin.

References