Linux'un KVM hipervizöründe bulunan bir use-after-free (kullanım-sonrası-serbest) hatası, konuk sanal makineden tetiklenerek ana sistem çekirdeğinin shadow-page durumunu bozabiliyor.
'Januscape' adı verilen ve CVE-2026-53359 olarak izlenen bu açık, KVM'nin hem Intel hem de AMD'de ortak kullanılan shadow MMU kodunda yer alıyor. Kamuya açık proof-of-concept (PoC) ana sistemi çökertirken, araştırmacı ayrı bir yayınlanmamış istismarın aynı hatayı tam ana sistem kod yürütmeye dönüştürdüğünü iddia ediyor.
Güvenlik araştırmacısı Hyunwoo Kim (@v4bel) hatayı bulup bildirdi. Kim, Januscape'i kamuya açık bilinen ilk hem Intel hem de AMD'de tetiklenebilen konuktan ana sisteme istismar olarak tanımladı. Açık yaklaşık 16 yıl boyunca fark edilmedi.
Kim'e göre istismar, Google'ın kvmCTF programında bir zero-day (sıfırıncı gün) gönderimi olarak kullanıldı. Bu program, tam konuktan ana sisteme kaçışlar için 250.000 dolara kadar ödül veriyor.
Nasıl Çalışıyor?
Sanal makine çalıştırmak için KVM, konuğun bellek düzenini yansıtan kendi özel sayfa tablolarını tutar. Bu izleme sayfalarından birine ihtiyaç duyduğunda, yeniden kullanmak üzere mevcut bir sayfa arar.
Sorun şu: KVM sayfaları yalnızca bellek adresine göre eşleştiriyor ve hangi tür izleme sayfasını aldığını göz ardı ediyordu. İki farklı tür aynı adresi paylaşabiliyor ancak tamamen farklı işler yapıyor; bu nedenle KVM bazen yanlış türü yeniden kullanıyordu.
Bu karışıklık, KVM'nin hangi sayfanın nereye ait olduğuna dair dahili kayıtlarını bozuyor ve kayıtlar yanlış olduğunda bir şeylerin ters gitmesi kaçınılmaz oluyor.
Çoğu durumda çekirdek karışıklığı fark ediyor ve hasar vermemek için kendini anında kapatıyor. Kamuya açık gösterimin tetiklediği çökme de bu: bir konuk, tüm makineyi devirerek o makinedeki diğer tüm VM'leri de beraberinde götürebiliyor.
Daha nadir ve daha kötü durum ise, çekirdek temizlik yapmadan önce serbest bırakılan izleme sayfasının başka bir kullanım için dağıtılmasıyla ortaya çıkıyor. Temizlik işlemi daha sonra artık sahibi olmadığı bir belleğe bir değer yazıyor. Saldırgan yalnızca bu yazmanın nereye yapılacağını kontrol ediyor, ne yazıldığını değil; ancak bu sınırlı tutunma noktası bile ana sistemde kod çalıştırmaya kadar ilerletilebiliyor.