Kritična ranjivost u Wasmtimeu, vremenu izvođenja za WebAssembly aplikacije

Korektivnim ažuriranjima Wasmtime 6.0.1, 5.0.1 i 4.0.1 popravljena je ranjivost (CVE-2023-26489), kojoj je dodijeljen kritični nivo opasnosti. Ranjivost omogućava zapisivanje podataka u memorijsku oblast izvan granica dozvoljenih za izolovani WebAssembly kod, koji bi potencijalno mogao da koristi napadač da izvrši svoj kod izvan izolovanog WASI okruženja.

Wasmtime je runtime za pokretanje WebAssembly aplikacija sa WASI (WebAssembly System Interface) ekstenzijama kao redovnim samostalnim aplikacijama. Komplet alata je napisan na Rust jeziku, a ranjivost je uzrokovana logičkom greškom u definiranju pravila linearnog memorijskog adresiranja u generatoru koda Cranelift, koji prevodi međureprezentaciju neovisnu o hardverskim arhitekturama u izvršni strojni kod za arhitekturu x86_64.

Konkretno, za WebAssembly aplikacije, izračunate su 35-bitne efektivne adrese umjesto 33-bitnih adresa dozvoljenih u WebAssembly-u, čime je ograničenje virtualne memorije dozvoljene za operacije čitanja i pisanja pomaknuto na 34 GB, dok postavke okruženja sandbox-a pružaju zaštitu za 6 GB od osnovne adrese. Kao rezultat toga, raspon virtuelne memorije od 6 do 34 GB od osnovne adrese bio je dostupan za čitanje i pisanje iz WebAssembly aplikacija. Ova memorija može ugostiti druga WebAssembly okruženja ili WebAssembly runtime komponente.

Ako nije moguće ažurirati Wasmtime verziju, rješenje za blokiranje greške je specificiranje opcije "Config::static_memory_maximum_size(0)" kako bi se omogućila posebna provjera granica na svim linearnim pristupima memoriji (što rezultira značajnom kaznom performansi) . Druga opcija je korištenje postavke “Config::static_memory_guard_size(1 < 36)” za povećanje broja Guard Pages (izuzetak koji se stvara kada se pristupa) smještenih u problematičnom rasponu virtualne memorije (što rezultira rezervisanjem velike količine virtualne memorije i ograničavanje broja istovremeno pokrenutih WebAssembly aplikacija).

izvor: opennet.ru

Dodajte komentar