Skip to content

Hyper-V NT Kernel Integration VSP use-after-free EoP, exploited (CVE-2025-21334 / CVE-2025-21335)

Local low-privileged bir process, SYSTEM privilege'leriyle kod çalıştırmak için Hyper-V NT Kernel Integration VSP'deki (vkrnlintvsp.sys virtualization-stack bileşeni) bir use-after-free'i suistimal eder; in the wild exploit edildi ve CISA KEV'de listelendi. Bu not aynı component'teki ikiz use-after-free'ler olan CVE-2025-21334 ve CVE-2025-21335'i birlikte ele alır; CVE-2025-21333 ise aynı bileşendeki ayrı bir buffer-overflow kardeşidir (ayrı not).

Mechanism

Bug class / invariant

Scope: Bu not, vkrnlintvsp.sys içindeki aynı object-lifetime sınıfına ait iki ayrı ama ikiz use-after-free'i — CVE-2025-21334 ve CVE-2025-21335'i — birlikte ele alır; ikisi de ayrı CVE numarasına sahip gerçek bug'lardır. Aynı bileşendeki CVE-2025-21333 ayrı bir heap-based buffer-overflow kardeşidir ve burada kapsam dışıdır (ayrı not).

Hyper-V, bir guest'in "enlightened" kernel'ını host tarafı helper'lardan ayırır. Virtualization Service Provider (VSP) bileşenleri host/root tarafında çalışır ve guest'teki Virtualization Service Consumer (VSC)'den gelen request'lere, tipik olarak VMBus üzerinden servis verir. NT Kernel Integration VSP (vkrnlintvsp.sys), Hyper-V-isolated bir workload'ı NT kernel ile entegre eden host tarafı parçadır.

Kırılan invariant object lifetime'dır: guest/VSC-controlled bir request'ten ulaşılabilen bir kernel object, başka bir code path hâlâ ona bir pointer tutarken ve sonra dereference ederken free edilir. Object'in lifetime'ı tüm reference'larına doğru şekilde bağlı olmadığı için (klasik bir use-after-free), request sequence'ını süren low-privileged local bir aktör, backing belleği serbest bırakıldıktan sonra — ve potansiyel olarak attacker-influenced içerikle reclaim edildikten sonra — stale bir pointer'ın yeniden kullanılmasına neden olabilir.

Privilege boundary aşılır çünkü free edilip yeniden kullanılan object bir kernel-mode, SYSTEM-context bileşeninde yaşar. Reclaim edilen allocation'a düşen içeriği kontrol etmek, saldırganın bir kernel dereference/dispatch'i yönlendirmesine ve bir memory-safety bug'ını SYSTEM'de arbitrary code execution'a çevirmesine izin verir. Bu bir guest-to-host escape değil, bir elevation of privilege'dir (local kullanıcı -> SYSTEM): CVSS vector local'dir (AV:L, PR:L, UI yok), CVSS 7.8.

Warning

Microsoft, CVE-2025-21334 ve CVE-2025-21335'i (aynı use-after-free sınıfından ikiz bug'lar) release'te in the wild exploit edildi olarak işaretledi ve CISA bunları Known Exploited Vulnerabilities kataloğuna ekledi. Bu not bu iki ikiz UAF'i birlikte ele alır; ikisi de vkrnlintvsp.sys içindeki aynı object-lifetime sınıfına aittir. CVE-2025-21333 ise aynı bileşendeki ayrı bir buffer-overflow kardeşidir (ayrı not).

Walkthrough

Public advisory sınıfından (guest tarafı request'lere servis veren bir VSP'de use-after-free) çıkarsanan high-level, kavramsal reproduction. Burada hiçbir offset, struct field veya reclaim primitive verilmemiştir.

Conceptual flow (from public advisory description)
1. A low-privileged local process interacts with the NT Kernel Integration
   VSP surface exposed by vkrnlintvsp.sys (the host-side servicing path for
   an isolated/enlightened workload).

2. A request sequence drives the VSP to FREE a kernel object while another
   in-flight operation still references it (lifetime/refcount invariant
   violated) -> dangling kernel pointer.

3. The attacker arranges for the freed allocation to be RECLAIMED with
   content they influence (heap grooming), so the stale pointer now points
   at attacker-shaped data.

4. The VSP DEREFERENCES the stale pointer (e.g. a callback/handle field),
   transferring control or a write under attacker influence in
   kernel/SYSTEM context -> SYSTEM-level code execution.

Vulnerable, unpatched bir host'ta sonuç: local non-admin bir process SYSTEM kazanır. Etkilenen: Windows 10 (21H2/22H2), Windows 11 (22H2/23H2/24H2), Windows Server 2022 ve 2025.

Detection

  • EDR/kernel telemetry: Hyper-V virtualization-stack bileşenleriyle etkileşime giren low-privileged bir user session'dan kaynaklanan beklenmedik SYSTEM-privileged token assignment veya process spawn'lama.
  • vkrnlintvsp.sys etrafında driver-load ve crash sinyalleri; virtualization stack'teki Windows Error Reporting / bugcheck cluster'ları başarısız UAF denemelerini (heap corruption, kernel'de bad pointer dereference) gösterebilir.
  • Behavioral: Normalde Hyper-V/VSC interface'lerini kullanmayan bir process'in aniden yoğun, tekrarlanan VSP/VMBus request'leri vermesi (grooming/race pattern'leri).
  • In-the-wild kampanyaya bağlı exploitation göstergelerini avlayın; CISA KEV remediation zaman çizelgeleriyle ilişkilendirin.

Mitigation

  • CVE-2025-21333/21334/21335'i düzelten Ocak 2025 cumulative update'ini uygulayın. Bu birincil remediation'dır; patch, NT Kernel Integration VSP'deki object-lifetime handling'i düzeltir.
  • Exploitation local olduğu için least privilege uygulayın: Hyper-V host'larında interactive/low-priv local erişimi kısıtlayın ve izleyin; management plane'leri segmentleyin.
  • Modern Windows kernel'lerinde halihazırda mevcut olan defense-in-depth (kernel pool hardening, KASLR, kCFG/CFG-stili control-flow check'leri, HVCI) exploitation maliyetini yükseltir ama in-the-wild bir UAF'a karşı patch'in yerini tutmaz.

References