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:
- 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.)
- 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.
- 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.
- 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çinvmware.log'u izleyin. - VMkernel anomalies: Tek bir VM'in aktivitesiyle korele
vmkernel.logPSOD'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,
execInstalledOnlyve 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.