Athari kubwa katika Wasmtime, wakati wa utekelezaji wa programu za WebAssembly

Masasisho ya marekebisho ya Wasmtime 6.0.1, 5.0.1 na 4.0.1 hurekebisha uwezekano wa kuathiriwa (CVE-2023-26489), ambao umekadiriwa kuwa Muhimu. Athari hii huruhusu kupanga uandishi wa data kwenye eneo la kumbukumbu nje ya mipaka inayoruhusiwa kwa msimbo uliotengwa wa WebAssembly, ambao unaweza kutumiwa na mvamizi kupanga utekelezaji wa misimbo yao nje ya mazingira yaliyotengwa ya WASI.

Wasmtime ni wakati wa kutekeleza programu za WebAssembly na viendelezi vya WASI (WebAssembly System Interface) kama programu za kawaida zinazojitegemea. Zana ya zana imeandikwa kwa Rust, na uwezekano wa kuathiriwa unasababishwa na hitilafu ya kimantiki katika ufafanuzi wa sheria za kushughulikia kumbukumbu ya mstari katika jenereta ya msimbo wa Cranelift, ambayo hutafsiri uwakilishi wa kati usio na usanifu wa maunzi katika msimbo wa mashine unaoweza kutekelezwa kwa usanifu wa x86_64.

Hasa, anwani za ufanisi wa 35-bit zilihesabiwa kwa ajili ya maombi ya WebAssembly badala ya anwani 33-bit zinazoruhusiwa katika WebAssembly, ambayo ilihamisha kikomo cha kumbukumbu halisi inayoruhusiwa kwa shughuli za kusoma na kuandika hadi 34 GB, wakati mipangilio ya mazingira ya sandbox hutoa ulinzi kwa GB 6. kutoka kwa anwani ya msingi. Kama matokeo, anuwai ya kumbukumbu ya kawaida kutoka 6 hadi 34 GB kutoka kwa anwani ya msingi ilipatikana kwa kusoma na kuandika kutoka kwa programu za WebAssembly. Kumbukumbu hii inaweza kupangisha mazingira mengine ya WebAssembly au vipengele vya wakati wa utekelezaji wa WebAssembly.

Iwapo haiwezekani kusasisha toleo la Wasmtime, ikibainisha chaguo la "Config::static_memory_maximum_size(0)" ili kuwezesha ukaguzi wa mipaka tofauti wa lazima kwenye ufikiaji wowote wa kumbukumbu inatajwa kama njia za kutatua hitilafu (husababisha uharibifu mkubwa wa utendakazi). Chaguo jingine ni kutumia mpangilio "Config::static_memory_guard_size(1 <36)" ili kuongeza idadi ya kurasa za walinzi (Ukurasa wa Walinzi, ubaguzi hutupwa unapofikiwa) ulio katika masafa ya kumbukumbu ya mtandao yenye matatizo (husababisha kuhifadhi kiasi kikubwa. ya kumbukumbu pepe na kuweka kikomo kwa matumizi ya wakati mmoja ya WebAssembly).

Chanzo: opennet.ru

Kuongeza maoni