ARM64 KVM’de yeni Linux açığı host belleğine yazma-okuma izni veriyor

Anasayfa » ARM64 KVM’de yeni Linux açığı host belleğine yazma-okuma izni veriyor
ARM64 KVM’de yeni Linux açığı host belleğine yazma-okuma izni veriyor

Linux çekirdeğindeki yeni bir güvenlik açığı, ARM64 üzerinde çalışan KVM konuk makinelerine host belleğini okuma ve yazma yetkisi verebiliyor. CVE-2026-89775 olarak izlenen hata, güvenlik araştırmacısı Hyunwoo Kim’in açıklamasına göre sanal makineden çıkış yapıp alttaki fiziksel sistemde kod çalıştırmaya kadar uzanabiliyor.

Açık, ARM64 için ana Linux çekirdeğinde yer alan nested virtualization kodunda bulunuyor. Yama upstream tarafta Linux 6.18.51, 7.2.5 ve 7.3-rc1 sürümlerine eklendi. NVD kaydı: https://nvd.nist.gov/vuln/detail/CVE-2026-89775

Hata, bellek eşlemesi yanlış kaldığında ortaya çıkıyor

Nesting, bir konuk işletim sisteminin kendi hypervisor’ını çalıştırmasına izin veriyor ve böylece onun da sanal makineler barındırabilmesini sağlıyor. ARM64 tarafında bu özellik varsayılan olarak açık gelmiyor; deneysel bir önyükleme modu olarak sunuluyor ve Armv8.4 donanım ile FEAT_NV2 adı verilen yetenek gerekiyor. Bu nedenle, nested virtualization hiç etkinleştirilmemiş sıradan bir ARM64 KVM host’u bildirilen saldırı yolunun dışında kalıyor.

Açığın kaynağı, ARM64 üzerinde nested virtualization’ı yöneten KVM bölümündeki bir hesaplama hatası. Konuk sistem belleğini belirli bir biçimde düzenlediğinde boyut hesabı sıfır çıkıyor ve işlemci adres önbelleğinde kalan eski kayıtları temizlemesi gereken TLB invalidation adımı atlanıyor. Freed edilmiş bir host bellek sayfası bu durumda eşlenmiş ve yazılabilir halde kalıyor. Konuk sistem o sayfayı 64 bitlik parçalar halinde okuyup yazabiliyor; donanımın kontrolü host’a geri vermesi gereken bir trap da oluşmuyor.

Kim, 16 Eylül’de açıkladığı açık üzerinden bir konuk makinenin host’tan kaçış yapabileceğini, yani kendi sanal ortamından çıkarak alttaki makinede kod çalıştırabileceğini belirtti. Şu ana kadar exploit kodu yayımlanmadı ve açığın gerçek saldırılarda kullanıldığına dair bir işaret de yok.

Sürüm farkı ve etki alanı dağılımı

Çekirdeğin kendi kayıtlarında etkilenen kod, Linux 6.16’dan itibaren var görünüyor. Ancak yamanın yazarı düzeltmeyi daha sonraki bir değişikliğe karşı işaretledi; inceleyen ve test eden bakımcı ise “kaçırılan invalidation yalnızca v6.17’de başlıyor” dedi. Bu yoruma göre 6.16 çalıştıran bir host, kodu taşısa bile saldırganın ihtiyaç duyduğu davranışı göstermiyor.

Aynı açık başka bir yerel yükselme senaryosuna da kapı açabiliyor. Kim’e göre bir kullanıcının /dev/kvm aygıtını açabildiği sistemlerde, yerel bir kullanıcı kendi guest’ini kurup aynı hatayla root yetkisi elde edebilir. Bu noktada host’ta nested virtualization’ın etkin olması gerekiyor.

Kim, Red Hat Enterprise Linux’u örnek gösteriyor. Red Hat, sürüm 10 çekirdeğini etkilenenler arasında listeliyor; 6 ile 9 arasındaki sürümler için ise etkilenmiyor notu veriyor. Red Hat’in bazı kurulumlarında /dev/kvm aygıtı tüm kullanıcılara açık durumda bulunuyor.

Yama geldi, dağıtımlar kendi takvimini izliyor

Upstream çekirdekte düzeltme Linux 6.18.51, 7.2.5 ve 7.3-rc1 sürümlerinde yer alıyor. Dağıtımlar yamayı kendi yayın takvimlerine göre kullanıma alıyor ve 22 Eylül itibarıyla tablo sürüme göre değişiyor.

Red Hat tarafında teknik özet şöyle: RHEL 10 çekirdeği etkileniyor, 6’dan 9’a kadar olan sürümler etkilenmiyor. Ubuntu 26.04, AWS, Azure ve GCP çekirdekleriyle birlikte kırılgan durumda; 24.04 LTS’nin genel çekirdeği etkilenmiyor, ancak yeni donanım etkinleştirme çekirdekleri olan 6.17 ve 7.0 sürümleri etkileniyor. Amazon Linux’ta AL2023 kernel6.18 paketine düzeltme bekleniyor, diğer Amazon Linux çekirdekleri etkilenmiyor. Debian cephesinde bookworm ve trixie etkilenmiyor, çünkü kod o dallarda yer almıyor; sid 7.2.6-1 ile düzeltildi, forky ise kırılgan olarak listeleniyor.

Red Hat, yamayı henüz uygulayamayan host’lar için kendi ölçütlerine göre bir geçici çözüm önermediğini bildiriyor. Ortak sınırlama ise net: saldırı yalnızca nested virtualization açık olan host’ları hedefliyor ve bu özellik ARM64’te varsayılan değil.

Satıcıların açığa verdiği risk puanları 7.8 ile 9.3 arasında değişiyor. Hepsi etkinin yüksek olduğu ve saldırının yerel nitelikte bulunduğu konusunda aynı çizgide. Fark, her satıcının açığın sömürülmesini ne kadar zor gördüğünü yansıtıyor. Ubuntu’nun 9.3 puanı verdiği görülürken, şirket kendi öncelik seviyesini orta olarak belirtiyor.

22 Eylül itibarıyla açık, ABD’nin CISA katalogunda aktif olarak sömürülen zafiyetler arasında yer almıyordu. Öngörülen istismar skoru da yüzde 1’in altındaydı.

Bulut ortamları açısından tablo daha dar. En büyük sağlayıcılarda bu hatanın ihtiyaç duyduğu yapılandırma standart ARM tekliflerinde yok. Amazon Web Services nested virtualization için yalnızca Intel tabanlı instance’ları listeliyor. Google Cloud ise ARM sanal makinelerini bu kapsamın dışında bırakıyor.

CVE-2026-89775, Kim’in bu yıl açıkladığı dördüncü KVM guest-to-host escape açığı oldu. Bunların ikisi x86 tarafındaki KVM’de görüldü: Temmuz’daki Januscape ve Ağustos’taki Zapscape. ARM64 üzerinde yayımladığı June tarihli ITScape ise bu açıkla en çok benzeyen örnek olarak öne çıkıyor; Kim o çalışmayı, ARM64 üzerinde kamuya açık biçimde gösterilen ilk escape olarak tanımlamıştı.