Swati Khandelwal 26 Ekim 2026 Güvenlik Açığı / Yazılım Güvenliği
Wasmtime, diğer yazılımlara gömülebilen bir WebAssembly çalışma zamanı ortamı. Proje bakımcılarına göre ortamda iki kritik açık bulunuyor ve bu açıklar kötü amaçlı bir WebAssembly modülünün onu hapsetmesi gereken sandbox'tan çıkmasına izin verebilir.
Saldırganın önce kontrol ettiği bir modülü derleyebileceği açık bir Wasmtime derlemesine ihtiyacı olacak. Açıklardan biri yalnızca ARM64 sistemleri etkiliyor. Düzeltmeler 19 ve 20 Ekim'de yayımlandı ve bakımcılar herhangi bir saldırı bildirilmediğini açıkladı.
Wasmtime, WebAssembly kodunu web tarayıcıları dışında çalıştırıyor. Her iki hata da varsayılan olarak kullandığı derleyici Cranelift'te bulunuyor. Wasmtime'ın bakımcıları Bytecode Alliance, 19 Ekim'de yayımlanan duyurularda her iki açığı da CVSS ölçeğinde 10 üzerinden 9.9 olarak değerlendirdi.
CVE-2026-115889 tüm işlemci mimarilerinde Wasmtime'ı etkiliyor.
CVE-2026-115893 yalnızca ARM64, diğer adıyla aarch64'ü etkiliyor.
Sandbox, bir modülün belirlenen sınırlar içinde kalmasını sağlamak için var. Modül yalnızca kendi belleğini ve kendisine verilen ana bilgisayar işlevlerini kullanabilir ve kodu yalnızca denetlenmiş konumlara atlayabilir.
Her iki açık da saldırganın kontrol ettiği bir modül gerektirdiğinden risk, başkalarının yazdığı modülleri derleyen hizmetlerde en yüksek. Fastly örneğin Compute platformunun müşteri kodunu Wasmtime kullanarak çalıştırdığını söylüyor. Duyurularda etkilenen hizmetler belirtilmiyor ve sandbox'tan çıkma sonrası saldırganın erişebileceği şeyler açıklanmıyor.
26 Ekim itibarıyla her iki açık da ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı CISA'nın tuttuğu Bilinen Sömürülen Kırılganlıklar kataloğunda yer almıyordu.
Hangi Sürümler Etkileniyor
İki açık farklı zamanlarda düzeltildiğinden sürümünüzün etkilenip etkilenmediği sürüm hattınıza ve bir açık için işlemci mimarinize bağlı.
CVE-2026-115889 (her mimari)
CVE-2026-115893 (yalnızca ARM64)
Neyin yapılması gerekiyor
36.0.19 öncesinde (24.x dahil)
36.0.19'a güncelleyin ya da 48.0.7, 49.0.4 veya 50.0.0'a geçin
Bu açıklar için işlem gerekmiyor
37.0.0'dan 42.x'e
48.0.7, 49.0.4 veya 50.0.0'a geçin
43.0.0'dan 47.x'e
48.0.7, 49.0.4 veya 50.0.0'a geçin
48.0.0'dan 48.0.6'ya
48.0.7'ye güncelleyin
Bu açıklar için işlem gerekmiyor
49.0.0'dan 49.0.3'e
49.0.4'e güncelleyin
49.0.4 ve 50.0.0 veya sonrası
Bu açıklar için işlem gerekmiyor
Wasmtime, iki yıl süreyle desteklenen ve 12'nin katları olarak numaralandırılan uzun süreli destek LTS sürümlerini destekliyor. Diğer sürümler iki ay destek alıyor. Güvenlik düzeltmeleri desteklenen sürümler için garanti ediliyor.
Yalnızca 36, 48, 49 ve 50 sürüm hatları hâlâ destekleniyor. 20 Ağustos 2026'da desteği sona eren 24.x LTS hattı da dahil her diğer hat düzeltme almadı.
Nisan ayında ARM64'te daha önce Cranelift sandbox kaçışını düzeltmek için 36.0.7, 42.0.2 veya 43.0.1'e güncelleyen ARM64 ana bilgisayarları hâlâ CVE-2026-115893'ten etkileniyor.
Neyin Yapılması Gerekiyor
Sürüm hattınız için düzeltilmiş sürüme güncelleyin: 36.0.19, 48.0.7 veya 49.0.4. 20 Ekim'de yayımlanan Wasmtime 50.0.0 her iki açık için de düzeltilmiş durumda. Desteklenmeyen bir hatta olan ana bilgisayarların bu sürümlerden birine geçmesi gerekiyor.
Wasmtime bir kütüphane olarak diğer programlara gömülebilir, bu nedenle komut satırı aracını güncellemek onları düzeltmez. Wasmtime içeren her program düzeltilmiş bir sürümle yeniden derlenmelidir.
Hiçbir duyuruda geçici çözüm listelenmiyor. Bir ana bilgisayar güncellenene kadar risk, dışarıdan sağlanabilen her modülden geliyor.
Her iki açık da Cargo.lock dosyalarını kontrol etmek için cargo-audit aracının kullandığı RustSec veritabanında RUSTSEC-2026-0380 ve RUSTSEC-2026-0379 olarak listeleniyor.
26 Ekim itibarıyla GitHub'ın danışma veritabanında CVE-2026-115889 için incelenmiş bir kayıt bulunurken CVE-2026-115893 için kayıt yok. GitHub'a göre yalnızca incelenmiş kayıtlar Dependabot uyarılarını tetikler, bu nedenle Dependabot kullanıcıları ARM64 açığı için uyarı beklememeli.
Wasmtime üzerinde çalışan açık kaynaklı sunucusuz WebAssembly uygulamaları oluşturma aracı Spin, 21 Ekim'de 4.2.4 sürümünde Wasmtime 50.0.0'a geçti.
İki Açık Nasıl Çalışıyor
CVE-2026-115889, Cranelift'in bir işlev içinde değerleri takip etmek için kullandığı sayıların saklanma şeklinden kaynaklanıyor. 43. sürüm öncesinde bu sayılar 24 bitlik alanlara sıkıştırılıyordu ve derleme sürümlerinde alanına sığmayan bir sayı hatasız taşıyordu.
Cranelift böylece yanlış değere başvurabiliyor ve hatalı makine kodu üretebiliyordu. Çok büyük bir WebAssembly işlevi ya da çok sayıda değer kullanan şekilde hazırlanmış bir işlev, buna dayanarak tip karışıklığına yol açıp sandbox'tan çıkabilir.
Wasmtime'ın ana geliştirme hattı sorunu zaten kaldırmıştı. 18 Şubat'ta birleştirilen bir değişiklik alanları 32 bite genişletti ve 20 Mart'ta Wasmtime 43.0.0'da yayımlandı. Açıklaması daha büyük işlevlerin derlenmesini sağlama olarak sunuldu ve güvenlikten söz edilmedi.
36.x LTS hattı aynı değişikliği 19 Ekim'de aldı. Güvenlik etkisinin ne zaman fark edildiği duyuruda belirtilmiyor.
CVE-2026-115893, kodda birçok yere atlayan br_table WebAssembly komutunu içeriyor. Tablo dışındaki bir indeks varsayılan hedefe gidiyor. ARM64'te Cranelift bu sınır dışı indeksleri yalnızca yaklaşık 1 MiB erişebilen bir dal ile varsayılan hedefe gönderiyordu.
256.000'den fazla hedefi olan bir br_table atlama tablosunu bu erişimin ötesine taşıyordu, bu nedenle dal sessizce yanlış yere işaret ediyordu.
Duyuruya göre varsayılan ayarlarla çalışan her ARM64 Wasmtime motoru, kullanıcı tarafından kontrol edilen bir Wasm modülüyle zorlanarak keyfi koda atlayabilir. Hata Wasmtime'ın 2020'de ARM64 desteğini ilk kez eklediği zamandan beri mevcut.
Düzeltme, sınır dışı indeksleri atlama tablosunun kendisinden geçiriyor, böylece uzun dala gerek kalmıyor. Düzeltilmiş sürümler ayrıca 65.520'den fazla hedefi olan br_table'ların derlenmesini reddediyor.