ARM64 Linux KVM’de host belleği kaçağı

Anasayfa » ARM64 Linux KVM’de host belleği kaçağı
ARM64 Linux KVM’de host belleği kaçağı

Linux çekirdeğinde ARM64 KVM tarafında ortaya çıkan yeni bir hata, nested virtualization açık olan sistemlerde konuk sanal makinenin host çekirdek belleğine okuma ve yazma erişimi kazanmasına yol açabiliyor. CVE-2026-89775 olarak izlenen açık, araştırmacı Hyunwoo Kim’in ifadesine göre konuk ortamdan kaçış ve host üzerinde kod çalıştırma senaryosuna kapı aralıyor.

Hata, ana Linux çekirdeğinin ARM64 mimarisindeki KVM kodunda yer alıyor ve Linux 6.18.51, 7.2.5 ile 7.3-rc1 sürümlerinde düzeltilmiş durumda. İlgili güvenlik kaydı 16 Eylül’de paylaşıldı. Açığın uzak ağ üzerinden değil, yerel erişimle ve yalnızca nested virtualization etkinleşmiş host’larda kullanılabildiği belirtiliyor.

Nested virtualization zincirindeki boşluk

Nested virtualization, bir konuk makinenin kendi hypervisor’unu çalıştırmasına ve bunun üzerinde yeni sanal makineler barındırmasına izin veriyor. ARM64 tarafında bu özellik varsayılan olarak açık gelmiyor; Armv8.4 donanım ve FEAT_NV2 adlı yetenek gerekiyor. Bu nedenle nested virtualization’ın hiç açılmadığı sıradan bir ARM64 KVM host’unun bildirilen saldırı yolunun dışında kaldığı aktarılıyor.

Açık, ARM64 üzerinde nested virtualization işlemlerini yöneten KVM bölümünde bulunuyor. Konuk makine belleğini belirli bir biçimde düzenlediğinde boyut hesabı sıfıra düşüyor ve işlemci önbelleğindeki eski kayıtları temizlemesi gereken TLB invalidation adımı atlanıyor. Bunun sonucu olarak daha önce serbest bırakılmış bir host bellek sayfası haritalı ve yazılabilir halde kalıyor. Konuk, bu sayfayı 64 bitlik parçalar halinde okuyup yazabiliyor ve kontrolü host’a geri veren bir donanım tuzağı da oluşmuyor.

Kim, bu davranışın konuk makinenin kendi sanal ortamından çıkarak alttaki host makinede kod çalıştırmasına imkan verebileceğini söylüyor. Araştırmacının paylaştığı bilgiye göre henüz yayımlanmış bir exploit kodu yok ve açıkla bağlantılı bir saldırı belirtisi de görülmedi.

Hangi sistemler etkileniyor, hangileri etkilenmiyor

Çekirdeğin kendi kayıtları, etkilenen kodun Linux 6.16’dan itibaren mevcut olduğunu gösteriyor. Ancak düzeltmeyi hazırlayan kişi yamayı daha sonraki bir değişikliğe karşı işaretledi ve inceleyip test eden bakımcı, “kaçırılan invalidation yalnızca v6.17 ile başlıyor” değerlendirmesini yaptı. Bu yorum dikkate alındığında, 6.16 çalışan bir host kodu içeriyor olsa da saldırganın ihtiyaç duyduğu davranış zinciri oluşmuyor.

Kim’in aktardığı ikinci istismar yolu ise yerel kullanıcıları ilgilendiriyor. Eğer sistemde herhangi bir kullanıcının /dev/kvm aygıtını açmasına izin veriliyorsa, bu kişi bir sanal makine kurup aynı açığı kullanarak root yetkisi elde edebiliyor. /dev/kvm, programların sanal makine oluşturmak için kullandığı cihaz olarak biliniyor.

Bu senaryoda Red Hat Enterprise Linux örneği öne çıkıyor. Kim, cihazın burada varsayılan olarak tüm kullanıcılara açık olduğunu belirtiyor. Red Hat de 10 sürümündeki çekirdeği etkilenenler arasında listeliyor; 6’dan 9’a kadar olan sürümlerde ise etki olmadığını bildiriyor. Ancak bu yolun da çalışması için host tarafında nested virtualization’ın etkin olması gerekiyor.

Yamalanmamış host’lar için geçici önlem arayışına da değinildi. Red Hat, kendi kriterlerine göre uygun bir work-around bulunmadığını söylüyor. Ortak netlik ise saldırı yüzeyinde: açık yalnızca nested virtualization açık ARM64 host’ları hedef alıyor ve bu özellik ARM64’te varsayılan değil.

Dağıtımların durumu ve bulut platformları

Yukarı akışta düzeltme Linux 6.18.51, 7.2.5 ve 7.3-rc1 sürümlerine girdi. Dağıtımlar ise yamayı kendi takvimlerine göre yayımlıyor ve durum sürüme göre değişiyor. 22 Eylül tarihli tabloya göre Ubuntu 26.04, AWS, Azure ve GCP çekirdekleriyle birlikte savunmasız durumda. Ubuntu 24.04 LTS’nin genel çekirdeği etkilenmiyor, ancak daha yeni hardware-enablement çekirdekleri olan 6.17 ve 7.0 sürümleri açık taşıyor.

Amazon Linux tarafında AL2023 için 6.18 paketinde düzeltme bekleniyor, diğer Amazon Linux çekirdekleri ise etkilenmiyor. Debian cephesinde bookworm ve trixie sürümlerinde kod bulunmadığı için etki yok; sid dalı 7.2.6-1 ile düzeltildi, forky ise savunmasız olarak listelendi.

Bulut kiracılarının sağlayıcı makinelerine sıçrayıp sıçrayamayacağı sorusu da gündeme geldi. Büyük sağlayıcılarda, bu açığın ihtiyaç duyduğu yapılandırma standart ARM tekliflerinde yer almıyor. Amazon Web Services nested virtualization için yalnızca Intel tabanlı instance’ları listeliyor. Google Cloud ise ARM sanal makinelerini bu özellik kapsamı dışında tutuyor.

Bu tablo, platformların temiz olduğu anlamına gelmiyor; ancak bu açığın izlediği belirli yol standart ARM ürünlerinde açık değil. Kim’in anlattığı zincir, donanım ve yapılandırma tarafı birlikte uygun olduğunda anlam kazanıyor.

Vendors bu açık için 10 üzerinden 7.8 ile 9.3 arasında değişen puanlar veriyor. Hepsi etkinin yüksek olduğu ve saldırının yerel olduğu konusunda birleşiyor. Farklılaşma, açığın ne kadar zor sömürülebileceğine dair kurumların kendi değerlendirmelerinden kaynaklanıyor. Ubuntu’nun 9.3 olarak gösterdiği puanda öncelik seviyesini orta olarak belirlediği aktarılıyor.

22 Eylül itibarıyla CVE-2026-89775, ABD CISA’nın aktif olarak sömürülen açıklıklar kataloğunda yer almıyordu. Tahmini sömürü skoru da yüzde 1’in altındaydı.

Kim, bu bulgusuyla birlikte yıl içinde dördüncü kez bir KVM guest-to-host escape açıklamış oldu. Bunların ikisi x86 tarafındaki KVM için hazırlandı: Januscape temmuzda, Zapscape ağustosta duyuruldu. ARM64 üzerinde kamuya açık ilk kaçış örneği olarak nitelediği ITScape ise haziranda yayımlanmıştı ve bu yeni açıkla en çok onun benzeştiğini söyledi. CVE kaydı için NVD bağlantısı: https://nvd.nist.gov/vuln/detail/CVE-2026-89775