Hyper-V NT Kernel Integration VSP heap overflow EoP, exploited (CVE-2025-21333)¶
Hyper-V NT Kernel Integration VSP driver'ında (
vkrnlintvsp.sys) unprivileged bir local kullanıcının SYSTEM'e kadar sürebileceği bir heap-based buffer overflow; in the wild exploit edildi ve Ocak 2025'te patch'lendi.
Mechanism¶
Bug class / invariant
vkrnlintvsp.sys, Windows Sandbox ve Defender Application Guard gibi lightweight,
container-style VM'leri destekleyen bir Virtualization Service Provider olan
NT Kernel Integration VSP'dir. Public analiz (pwnfuzz Labs breakdown)
defect'i security-descriptor handling routine'i VkiRootAdjustSecurityDescriptorForVmwp()'a
yerleştirir. Invariant, kernel copy'leri için evrensel olandır: destination allocation,
kopyalanan veri için boyutlandırılmış olmalı ve user input'tan türetilen herhangi bir size
doğrulanmalıdır.
Bug klasik bir heap-based buffer overflow'dur (CWE-122). Routine user-supplied bir
SECURITY_DESCRIPTOR işlerken, DACL'yi attacker-controlled Dacl->AclSize field'ından
alınan bir length ile kopyalar — kavramsal olarak memmove(dst, Dacl, Dacl->AclSize) —
o size'ı destination'a karşı check etmeden. Şişirilmiş bir AclSize, bir Paged Pool
allocation'ını overrun eder. Vulnerable routine, malicious security descriptor'ı içeren bir
OBJECT_ATTRIBUTES taşıyan (undocumented) cross-VM event syscall yüzeyi
(NtCreateCrossVmEvent / NtCreateCrossVmMutant) üzerinden low-privilege bir caller'dan
ulaşılabilir. Bu da onu bir guest escape değil, bir local elevation of privilege yapar.
Bu, klasik bir out-of-bounds write ile aynı root-cause ailesindendir: pool'a controlled-length bir overflow, bir read/write primitive'ine şekillendirilir.
Walkthrough¶
Sadece kavramsal
Aşağıdaki adımlar public writeup'ları (pwnfuzz/Quarkslab breakdown ve MrAle98 PoC açıklaması) mantıksal seviyede özetler. Hiçbir offset, gadget chain ya da copy-paste exploit yeniden üretilmemiştir; pool-grooming ayrıntıları ve çalışan primitive atlanmıştır.
- Prerequisite. Cross-VM event syscall'ları ve
vkrnlintvsp.sys'in user mode'dan ulaşılabilir olması için Windows Sandbox / NT Kernel Integration VSP özelliği mevcut olmalıdır. - Overflow'u tetikle. Saldırgan, security descriptor'ı oversized bir
AclSize'a sahip bir DACL taşıyan birOBJECT_ATTRIBUTESile cross-VM event creation path'ini çağırır ve unchecked copy'nin bir Paged Pool allocation'ını overflow etmesine neden olur (public PoC, onlarca KB mertebesinde, yalnızca kısmen kontrol edilebilen bir overflow olduğunu not eder). - Komşu object'leri groom et. Overflow, paged pool'a yerleştirilen WNF (Windows Notification Facility) state-data object'lerine yönlendirilir ve komşu bir victim object'i corrupt eder.
- Bir I/O ring'e pivot et. Corrupt edilmiş WNF entry'leri free edilip yeniden allocate
edilir; böylece saldırgan bir I/O ring'in registered-buffer array'inin bir entry'sini
(
_IOP_MC_BUFFER_ENTRY, pool tagIrRB) kontrol eder ve onu attacker user-space belleğine yönlendirir. - Arbitrary read/write. I/O ring read/write operasyonları submit etmek daha sonra attacker-controlled buffer entry'sini dereference eder ve controlled kernel read/write verir — bu da SYSTEM'e escalate edilir.
The unchecked copy (illustrative pseudo-logic)
Detection¶
Host / telemetry sinyalleri
- Tuhaf caller'lar tarafından sandbox-driver kullanımı: Windows Sandbox / WDAG olmayan,
cross-VM event yüzeyini açan ya da
vkrnlintvsp.sys'e dokunan path'leri yükleyen process'ler. - Paged-pool corruption bugcheck'leri:
BAD_POOL_HEADER/ pool-corruption crash'leri; lab/repro'davkrnlintvsp.sysüzerinde Driver Verifier + Special Pool'u etkinleştirin. - I/O ring abuse heuristic'leri: Pool grooming sonrası alışılmadık
NtSubmitIoRing/ I/O ring registered-buffer aktivitesi;IoRingobject manipülasyonu üzerine EDR telemetry. - WNF anomalileri: WNF state-data object'lerinin kitlesel free/realloc'u, bu ve benzeri pool exploit'leri için bilinen bir grooming sinyalidir.
- Known-exploited status: Microsoft, CVE-2025-21333'ü release'te in the wild exploit edildi olarak işaretledi — patch'lenmemiş host'larda hunting'i önceliklendirin.
Mitigation¶
Patch & hardening
- Ocak 2025 patch'lerini uygula. Microsoft CVE-2025-21333'ü Ocak 2025 Patch Tuesday'de düzeltti; in the wild exploit edildiği için patch'lemek acildir.
- Feature surface'i azalt: Windows Sandbox / Defender Application Guard / container özelliklerine ihtiyaç yoksa, bunları devre dışı bırakmak vulnerable syscall'ların ve driver'ın erişilebilirliğini kaldırır.
- Kernel exploit-mitigation'larını açık tut: HVCI/VBS, kernel CFG ve pool integrity korumaları, overflow'u güvenilir read/write'a çevirmenin maliyetini yükseltir.
- Least privilege + EDR: Hassas host'larda local code execution'ı kısıtlayın ve yukarıdaki I/O ring / WNF grooming pattern'lerinin EDR kapsamına güvenin.