A Wasmtime 6.0.1, 5.0.1 és 4.0.1 javítófrissítéseiben egy CVE-2023-26489 azonosítójú sebezhetőséget javítottak, amelyet kritikus veszélyességi szinttel láttak el. A sebezhetőség lehetővé teszi az adatok írását a WebAssembly-kód izolált környezetén kívüli memória területre, amelyet a támadók potenciálisan kihasználhatnak a kódjuk végrehajtására az izolált WASI környezetből.
A Wasmtime egy runtime a WebAssembly-alkalmazások végrehajtására, amely WASI (WebAssembly System Interface) kiterjesztésekkel működik, mint normál elkülönített alkalmazások. Az eszközkészlet Rust nyelven íródott, és a sebezhetőséget logikai hiba okozta a memória lineáris címzésének szabályainak meghatározása során a Cranelift kódgenerátorban, amely az architektúrától független közbülső reprezentációt alakít át végrehajtható gépi kóddá az x86_64 architektúrához.
Kifejezetten a WebAssembly-alkalmazások számára 35 bites hatékony címeket számoltak, a WebAssembly-ben engedélyezett 33 bites címek helyett, amely elmozdította a virtuális memória olvasási és írási műveletekhez engedélyezett határt 34 GB-ra, míg a sandbox-beállítások 6 GB védelmet nyújtanak az alapcímhez képest. Ennek következményeként a virtuális memória 6 és 34 GB közötti tartománya az alapcímhez képest olvasható és írható volt a WebAssembly-alkalmazások számára. Ebben a memóriában más WebAssembly-környezetek vagy WebAssembly runtime összetevők is elhelyezkedhetnek.
Ha nem lehetséges frissíteni a Wasmtime verzióját, a hiba blokkolásának kerülőmegoldásaként említik a 'Config::static_memory_maximum_size(0)' opció megadását, amely kötelező külön ellenőrzést aktivál a lineáris memória bármilyen elérésekor (ez jelentős teljesítménycsökkenést okoz). Egy másik lehetőség a 'Config::static_memory_guard_size(1 < 36)' beállítás használata, amely növeli a problémás virtuális memória tartományában elhelyezett őrzőoldalak (Guard Page, hozzáférés esetén kivétel keletkezik) számát (ez a virtuális memória nagy mennyiségű lefoglalásához és a párhuzamosan futó WebAssembly-alkalmazások számának korlátozásához vezet).
Forrás: opennet.ru
