CVE-2021-39216
Açıklama
Wasmtime, WebAssembly ve WASI için açık kaynaklı bir çalışma zamanıdır. Wasmtime'ın 0.19.0 sürümünden 0.30.0 sürümü öncesine kadar olan versiyonlarında, ana bilgisayardan (host) konuk (guest) Wasm içeriğine `externref` aktarılırken bir serbest bırakıldıktan sonra kullanım (use-after-free) hatası mevcuttu. Hatayı tetiklemek için, ya ana bilgisayar kodundan bir Wasm fonksiyonuna argüman olarak birden fazla `externref` geçirerek ya da ana bilgisayarda tanımlanmış çok değerli bir dönüş fonksiyonundan Wasm'a birden fazla `externref` döndürerek aynı anda birden fazla `externref` aktarmanız gerekir. Bu yapılara uyan bir ana bilgisayar kodunuz yoksa etkilenmezsiniz. İlk `externref` aktarıldıktan sonra Wasmtime'ın `VMExternRefActivationsTable` bileşeni kapasiteye ulaşırsa, ikinci `externref` aktarımı bir çöp toplama (garbage collection) işlemini tetikleyebilir. Ancak kontrol Wasm'a geçene kadar ilk `externref` köklendirilmediğinden, başka hiçbir şey ona referans vermiyorsa veya onu canlı tutmuyorsa toplayıcı tarafından geri alınabilir. Ardından, çöp toplama işleminden sonra kontrol Wasm'a geçtiğinde, Wasm bu noktada zaten serbest bırakılmış olan ilk `externref` değerini kullanabilir. `externref` kullanımı şu anda oldukça nadir olduğu için bu hatanın etkisinin nispeten küçük olduğuna inanıyoruz. Hata düzeltilmiştir ve kullanıcıların Wasmtime 0.30.0 sürümüne yükseltme yapmaları önerilir. Henüz Wasmtime sürümünü yükseltemiyorsanız, `wasmtime::Config::wasm_reference_types` parametresine `false` değerini geçirerek Wasmtime'daki referans türleri desteğini devre dışı bırakıp hatadan kaçınabilirsiniz.
Nasıl düzeltilir
- bytecodealliance wasmtime0.30.0 ya da sonraki bir sürüm
- wasmtime0.30.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| bytecodealliance wasmtime | 0.19.0 ≤ v < 0.30.0 | 0.30.0 |
| fedoraproject fedora | 34, 35 | — |
| wasmtimecrates.io | 0.26.0 ≤ v < 0.30.0, v < 0.30.0 | 0.30.0 |
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.