Görsel Kaynağı: The Hacker News
Diğer yazılımlara gömülebilen bir WebAssembly çalışma zamanı olan Wasmtime’deki kritik iki açık, kötü niyetli bir WebAssembly modülünün onu sınırlamayı amaçlayan kum kutusundan kaçmasına olanak tanıyabilir; projenin bakımını üstlenen ekipler bu şekilde açıklıyor.
Saldırgan, önce kendi kontrolündeki bir modülü derlemek için zayıf Wasmtime sürümüne ihtiyaç duyar ve açıklardan biri yalnızca ARM64 sistemlerini etkiler. Düzeltilmiş sürümler 19 ve 20 Ekim’de yayımlandı ve bakımı üstlenen ekipler herhangi bir saldırı bildirmediğini belirtti.

Wasmtime, WebAssembly kodunu web tarayıcılarının dışında çalıştırır. Her iki açık da WebAssembly’i makine koduna dönüştürmek için varsayılan olarak kullandığı Cranelift derleyicisinde bulunuyor. Bytecode Alliance’a ait Wasmtime bakımı üstlenen ekipler, 19 Ekim’de yayımladıkları uyarılarda her açık için CVSS ölçeğinde 10 üzerinden 9.9 puan verdi.
- CVE-2026-115889, Wasmtime’i tüm işlemci mimarilerinde etkiler.
- CVE-2026-115893, aarch64 olarak da bilinen yalnızca ARM64’ü etkiler.
Kum kutusu, bir modülün belirlenen sınırlar içinde kalmasını sağlar. Bir modül yalnızca kendi belleğini ve kendisine verilen ana bilgisayar işlevlerini kullanabilir ve kodu yalnızca denetlenen konumlara atlayabilir.
19 Ekim itibarıyla açıklardan hiçbiri, ABD Siber Güvenlik ve Altyapı Güvenliği Ajansı’nın (CISA) sürdürdüğü Bilinen İstismar Edilen Zayıflıklar kataloğunda yer almıyordu.
Hangi Sürümler Etkileniyor
İki açık farklı zamanlarda düzeltildiği için 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ıdır.
| Wasmtime sürümü | CVE-2026-115889 (tüm mimariler) | CVE-2026-115893 (yalnızca ARM64) | Ne yapılmalı |
|---|---|---|---|
| 36.0.19 öncesinde (24.x dahil) | ETKİLENEN | ETKİLENEN | 36.0.19’a güncelleyin ya da 48.0.7, 49.0.4 veya 50.0.0’a geçin |
| 36.0.19 | DÜZELTİLDİ | DÜZELTİLDİ | Bu açıklar için gerekli değil |
| 37.0.0 ile 42.x arası | ETKİLENEN | ETKİLENEN | 48.0.7, 49.0.4 veya 50.0.0’a geçin |
| 43.0.0 ile 47.x arası | ETKİLENMEYEN | ETKİLENEN | 48.0.7, 49.0.4 veya 50.0.0’a geçin |
| 48.0.0 ile 48.0.6 arası | ETKİLENMEYEN | ETKİLENEN | 48.0.7’ye güncelleyin |
| 48.0.7 | ETKİLENMEYEN | DÜZELTİLDİ | Bu açıklar için gerekli değil |
| 49.0.0 ile 49.0.3 arası | ETKİLENMEYEN | ETKİLENEN | 49.0.4’e güncelleyin |
| 49.0.4 ve 50.0.0 ya da sonrası | ETKİLENMEYEN | DÜZELTİLDİ | Bu açıklar için gerekli değil |
Wasmtime, iki yıl boyunca 12’nin katları numaralandırılan uzun süreli destek (LTS) sürümlerini destekler. Diğer sürümlere ise iki ay verilir. Desteklenen sürümler için güvenlik düzeltmeleri garanti edilir.
Yalnızca 36, 48, 49 ve 50 sürüm hatları hâlâ destekleniyor. Destek 20 Ağustos 2026’da sona eren 24.x LTS hattı da dahil olmak üzere diğer tüm hatlara düzeltme yapılmadı.
Nisan ayında ARM64’te daha önceki bir Cranelift sandbox kaçışını düzeltmek için 36.0.7, 42.0.2 veya 43.0.1’e güncelleyen ARM64 ana makineleri, CVE-2026-115893’e hâlâ maruz.
Ne yapılmalı
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çığa da karşı düzeltilmiş durumdadır. Desteklenmeyen bir hat üzerinde bulunan ana makineler bu sürümlerden birine geçmelidir.
Wasmtime, kütüphane olarak diğer programların içine gömülebildiğinden, komut satırı aracını güncellemek onları düzeltmez. Wasmtime’i içeren her program, düzeltilmiş bir sürümle yeniden derlenmelidir.
Her iki uyarıda da bir çalışma yolu (workaround) listelenmiyor. Ana makine güncellenene kadar risk, dışarıdan sağlanabilecek herhangi bir modülden geliyor.
Her iki açık da, cargo-audit aracının Cargo.lock dosyalarını denetlemek için kullandığı RustSec veritabanında RUSTSEC-2026-0380 ve RUSTSEC-2026-0379 olarak listeleniyor.
26 Ekim itibarıyla GitHub’ın uyarı veritabanında CVE-2026-115889 için inceleme kayıtlıyken, CVE-2026-115893 için böyle bir kayıt yok. GitHub, yalnızca inceleme kayıtlarının Dependabot uyarılarını tetiklediğini belirtiyor; bu nedenle Dependabot kullanıcılarının ARM64 açığı için bir uyarı beklememeleri gerekiyor.
Wasmtime üzerinde çalışan, sunucusuz WebAssembly uygulamaları oluşturmak için kullanılan açık kaynaklı Spin aracı, 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 fonksiyon içinde değerleri izlemek için kullandığı sayıları nasıl sakladığından kaynaklanıyor. 43 sürümünden önce bu sayıları 24 bitlik alanlara yerleştiriyordu ve release (sabit) derlemelerinde alanına sığmayan bir sayı hiçbir hata vermeden taşabiliyordu.
Cranelift böylece yanlış değere işaret edebilir ve hatalı makine kodu üretebilirdi. Çok büyük bir WebAssembly fonksiyonu ya da çok sayıda değer kullanacak şekilde kurgulanmış bir fonksiyon, uyarıda belirtildiği gibi bu açaktan yararlanarak tür karışıklığına zorlayabilir ve sandbox’dan çıkabilir.
Wasmtime’in ana geliştirme hattı sorunu zaten ortadan kaldırmıştı. 18 Şubat’ta birleştirilen bir değişiklikle alanlar 32 bite genişletildi ve 20 Mart’ta Wasmtime 43.0.0 ile yayımlandı. Bu değişikliğin açıklamasında, bunun daha büyük fonksiyonları derlemenin bir yolu olduğu belirtilmiş, güvenlik konusuna değinilmemişti.
36.x LTS hattı aynı değişikliği 19 Ekim’de aldı. Uyarı, güvenlikt etkisinin ne zaman fark edildiğini belirtmiyor.
CVE-2026-115893, bir indekse dayanarak kod içindeki çok sayıda yerden birine atlayan bir WebAssembly talimatı olan br_table ile ilgili. Tablonun dışında bir indeks varsayılan hedefe gider. ARM64’te Cranelift, yalnızca yaklaşık 1 MiB’ye ulaşabilen bir dallanma kullanarak bu aralık dışı indeksleri varsayılan hedefe gönderiyordu.
256.000’den fazla hedefe sahip bir br_table, atlama tablosunu bu ulaşımlık için çok büyük hale getiriyor, böylece dallanma sessizce yanlış yere işaret ediyordu.
Varsayılan ayarlarla çalışan herhangi bir Wasmtime motoru ARM64 üzerinde, “bir kullanıcı tarafından kontrol edilen Wasm modülüyle rastgele koda atlamaya zorlanabilir” diyor uyarı. Hata, Wasmtime ilk kez 2020’de ARM64’ü desteklemeye başladığından beri mevcut.
Düzeltme, aralık dışı dizinleri doğrudan atlama tablosu üzerinden yönlendirerek uzun dallanmaya gerek kalmadan çalışıyor. Düzeltilmiş sürümler, 65.520’den fazla hedefe sahip bir br_table derlemeyi de reddediyor.
Bu Gelişmeyi Toplulukta Değerlendirin
Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.
Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.
Foruma Katıl & Yanıtla ➔




Söz sizde.
Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.