CVE-2022-24791

Yüksək

Təsvir

Wasmtime, Cranelift istifadə edən WebAssembly üçün müstəqil JIT tipli runtime-dır. Həm externrefs istifadə edən Wasm işlədildikdə, həm də Wasmtime-da epoch interruption aktivləşdirildikdə "use after free" zəifliyi yaranır. Əgər siz epoch interruption funksiyasını açıq şəkildə aktivləşdirməmisinizsə (defolt olaraq söndürülmüşdür), bu problem sizə təsir etmir. Əgər Wasm reference types təklifini açıq şəkildə deaktiv etmisinizsə (defolt olaraq aktivdir), onda da sizə təsir etmir. "Use after free" problemi, soyuq blokların (cold blocks) daxilində safepoint-lər olduqda Cranelift-in stek xəritələrini (stack maps) yaratmaması səbəbindən baş verir. Soyuq bloklar epoch interruption aktiv olduqda yaranır. Soyuq bloklar kompilyasiya edilmiş funksiyaların sonunda yaradılır və blokların təyin edilmə ardıcıllığını dəyişir. Bu yenidən sıralama, Cranelift-in stek xəritələrini blokların emissiya ardıcıllığına görə deyil, təyin edilmə ardıcıllığına görə gözləməsi səbəbindən bəzi stek xəritələrinin ötürülməsinə səbəb olmuşdur. Wasmtime zibil toplama (garbage collection) prosesini həyata keçirdikdə, çatışmayan stek xəritələri səbəbindən stekdəki canlı istinadları tapa bilmir, onları istinadsız zibil hesab edir və geri qaytarır. Toplama prosesi bitdikdən sonra Wasm kodu vaxtından əvvəl geri qaytarılmış istinadlardan istifadə edə bilir ki, bu da "use after free" halıdır. Zəifliyi aradan qaldıran yamalar 0.34.2 və 0.35.2 versiyalarında dərc edilmişdir. Bütün Wasmtime istifadəçilərinə bu yamalı versiyalara keçid etmək tövsiyə olunur. Əgər hazırda yeniləmə imkanınız yoxdursa, aşağıdakılardan birini edərək zəiflikdən yayınmaq olar: ya Wasm reference types təklifini deaktiv edin, `config.wasm_reference_types(false)`; ya da əvvəllər aktiv etmişdinizsə, epoch interruption funksiyasını söndürün, `config.epoch_interruption(false)`.

CiddilikYüksək
CVSS8.1
İstismar ehtimalı—
MəhsulBytecodealliance Wasmtime
Dərc31 mar 2022
İlk görülmə31 mar 2022

Necə düzəltmək olar

Yeniləyin
  • bytecodealliance wasmtime0.34.2, 0.35.2 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
bytecodealliance wasmtime0.34.0 ≤ v < 0.34.2, 0.35.0 ≤ v < 0.35.20.34.2, 0.35.2

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2022-24791 · Bytecodealliance Wasmtime · Dark Radar