CVE-2026-34971
Açıklama
Wasmtime, WebAssembly için bir çalışma zamanıdır. 32.0.0 sürümünden 36.0.7, 42.0.2 ve 43.0.1 sürümlerinden öncesine kadar olan Wasmtime'ın Cranelift derleme arka ucu, belirli bir biçimdeki yığın erişimleri gerçekleştirilirken aarch64 üzerinde yanlış adrese erişilmesine neden olan bir hata içermektedir. Bir konuk WebAssembly modülündeki açık sınır kontrolleriyle birleştiğinde bu durum, aynı adres için iki farklı hesaplamanın oluştuğu bir senaryo yaratabilir: biri sınır kontrolü yapılacak adres için, diğeri ise yüklenecek adres içindir. İşlem yapılan adresteki bu fark, bir konuk modülün sınır kontrolünü geçebileceği ancak ardından farklı bir adresi yükleyebileceği anlamına gelir. Bunlar birlikte, konuk WebAssembly'nin ana bilgisayar belleğine erişirken rastgele okuma/yazma primitifi oluşturmasına olanak tanır. Konukların rastgele ana bilgisayar belleğini okuyup yazabilmesi nedeniyle bu bir sandbox kaçışıdır. Bu durumun meydana gelmesi ve sandbox kısıtlamalarının atlatılması için karşılanması gereken birkaç bileşen bulunmaktadır. Hatalı derlenen bu yükleme biçimi yalnızca 64 bit WebAssembly doğrusal belleklerinde veya Config::wasm_memory64 etkinleştirildiğinde ortaya çıkar. 32 bit WebAssembly etkilenmemiştir. Spectre hafifletmeleri veya sinyal tabanlı tuzaklar (signals-based-traps) devre dışı bırakılmış olmalıdır. Spectre hafifletmeleri etkin olduğunda, sorunlu yükleme biçimi oluşturulmaz. Sinyal tabanlı tuzaklar devre dışı bırakıldığında, Spectre hafifletmeleri de otomatik olarak devre dışı kalır. Cranelift'teki spesifik hata, amt değerinin sabit olduğu load(iadd(base, ishl(index, amt))) biçimindeki bir yüklemenin hatalı derlenmesidir. amt değeri, belirli bir değer olup olmadığını test etmek için yanlış şekilde maskelenmiştir ve bu yanlış maske, Cranelift'in talimat seçimi sırasında bu indirgeme kuralını hatalı bir şekilde eşleştirmesine yol açarak WebAssembly ve Cranelift semantiğinden sapmasına neden olur. Bu hatalı indirgeme, örneğin, doğru adres hesaplamasının daha küçük bir değere saracak olması gerekirken, amaçlanandan çok daha uzak bir adresi yükler. Bu güvenlik açığı 36.0.7, 42.0.2 ve 43.0.1 sürümlerinde düzeltilmiştir.
Nasıl düzeltilir
- bytecodealliance wasmtime36.0.7, 42.0.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| bytecodealliance wasmtime | 32.0.0 ≤ v < 36.0.7, 37.0.0 ≤ v < 42.0.2, 43.0.0 | 36.0.7, 42.0.2 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.