Skip to content

Hyper-V Shared Virtual Disk EoP (CVE-2024-43624)

Windows Hyper-V Shared Virtual Disk handling'indeki bir untrusted-pointer-dereference, low privilege'e sahip bir saldırganın Hyper-V Shared Virtual Disk işlevselliğinin context'inde SYSTEM'e yükselmesine izin verir (CVE-2024-43624, CWE-822, CVSS 8.8, Kasım 2024).

Mechanism

Bug class / invariant

Shared Virtual Disk (Shared VHDX), birden çok Hyper-V VM'inin aynı virtual disk'i attach etmesine izin verir — guest clustering için yapı taşı. Bu özelliğe servis vermek, host tarafı storage path'inin nihayetinde less-trusted (guest/low-privilege) bir kaynağa kadar izi süren descriptor'ları ve pointer'ları yorumlamasını gerektirir.

Microsoft CVE-2024-43624'ü CWE-822, untrusted pointer dereference olarak sınıflandırır. Kırılan invariant pointer provenance/validation'dır: untrusted bir taraftan kaynaklanan ya da onun etkilediği bir pointer değeri, host tarafından meşru, sahip olunan bir object'e işaret ettiği tam olarak doğrulanmadan dereference edilir. Etki bakımından bir out-of-bounds write'a yakından bağlı olan bir untrusted pointer dereference, saldırganın host tarafı bir read ya da write'ın nereye düştüğünü yönlendirmesine izin verir.

Aşılan boundary privilege'dır: vulnerable kod privileged Hyper-V Shared Virtual Disk context'inde çalışır, bu yüzden dereference edilen pointer'ı kontrol etmek o context'te controlled bir read/write'a — ve nihayetinde SYSTEM seviyesinde code execution'a — dönüşür. Microsoft'un CVSS vector'ü (8.8, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, high C/I/A), disk-sharing yüzeyine ulaşıp yükselen low-privilege bir saldırganı yansıtır; pratik çerçeve, shared-disk path'i üzerinden bir guest/low-priv -> host SYSTEM elevation'dır.

CVSS AV:N üzerine not: Microsoft/NVD resmî olarak AV:N (Network) atar — bu doğrulanmış vendor değeridir, bizim eklediğimiz bir düzeltme değil. Görünürdeki gerilim (vuln'ün low-priv / guest-context EoP olarak tanımlanması ile AV:N), Shared Virtual Disk servicing path'inin network-reachable bir Hyper-V/cluster yüzeyi üzerinden tetiklenebilmesinden kaynaklanır; yine de PR:L gereği nedeniyle saldırgan unauthenticated remote değil, en azından low-privileged bir guest/cluster context'ine sahip olmalıdır. Yani pratik tehdit modeli local/guest -> host SYSTEM elevation olarak kalır.

Warning

Untrusted-pointer-dereference bug'ları güçlüdür: tek bir controlled pointer çoğu zaman bir arbitrary read/write primitive'ini başlatmaya yeter, bu yüzden "RCE" olarak etiketlenmese de bu EoP high-impact olarak ele alınmalıdır.

Walkthrough

Sadece high-level. Microsoft'un advisory'si bir trigger yayınlamadan sınıfı (Shared Virtual Disk'te untrusted pointer dereference) adlandırır; aşağıdaki adımlar generic shape'tir ve hiçbir offset ya da field layout içermez.

Conceptual flow (untrusted pointer dereference, CWE-822)
1. Reach the Hyper-V Shared Virtual Disk servicing path from a low-priv /
   guest context that is permitted to interact with a shared VHDX attachment.

2. Supply a request whose structure carries a pointer-like field that the
   host trusts and later dereferences (provenance not fully validated).

3. Set that field to reference attacker-chosen host memory; the host
   dereferences it -> a read or write at an attacker-influenced location
   (controlled-pointer primitive).

4. Use the controlled dereference (corrupt a function pointer / object field)
   to redirect execution in the privileged Shared Virtual Disk context
   -> SYSTEM-level code execution.

Advisory'ye göre etkilenen: Hyper-V role'üne sahip bir dizi Windows 10/11 ve Windows Server build'i; Kasım 2024 cumulative update'leriyle giderildi.

Detection

  • Host EDR/kernel telemetry: Normal storage I/O davranışıyla eşleşmeyen, Hyper-V storage/shared-disk path'inden kaynaklanan SYSTEM-context aktivitesi.
  • Başarısız denemeleri gösteren Hyper-V Shared VHDX servicing bileşenlerindeki bugcheck / Windows Error Reporting cluster'ları (bad pointer dereference, access violation'ları).
  • Behavioral: Malformed ya da anormal shared-virtual-disk request'leri veren low-privileged ya da guest tarafı bir context, özellikle validation gap'i probe etmekle tutarlı yoğun/tekrarlanan sequence'lar.
  • Inventory exposure: Patch'lenmemiş host'larda Shared VHDX attachment'larıyla yapılandırılmış VM'ler için alarm verin.

Mitigation

  • Kasım 2024 cumulative update'ini uygulayın (KB'ler arasında ilgili build'ler için KB5046615, KB5046613, KB5046633, KB5046617, KB5046616 yer alır). Fix, Shared Virtual Disk path'indeki eksik pointer validation'ı ekler.
  • Mümkün olduğunda attack surface'i azaltın: Shared VHDX'i yalnızca guest clustering gerektiren workload'lar için etkinleştirin ve patch'lenene kadar shared-disk interface'ine hangi low-privileged/guest context'lerin ulaşabileceğini kısıtlayın.
  • Defense-in-depth: Host'larda VBS/HVCI'yi etkin tutun; bunlar controlled bir dereference'i güvenilir code execution'a çevirmenin maliyetini yükseltir ama patch'in yerini tutmaz.

References