Kriitiline turvavigastus Wasmtime'is, WebAssembly rakenduste aeglane täitmine

Wasmtime versioonides 6.0.1, 5.0.1 ja 4.0.1 on parandatud turvavigastus (CVE-2023-26489), mille ohtlikkuse taset peetakse kriitiliseks. See turvavigastus võimaldab andmete kirjutamist mälupiirkonda, mis ületab WebAssembly koodi eraldatud ala, mida ründaja võiks potentsiaalselt kasutada oma koodi täitmiseks väljaspool WASI eraldatud keskkonda.

Wasmtime on WebAssembly rakenduste täitmise aeglane käitaja, millel on WASI (WebAssembly System Interface) laiendused, nagu tavalised isoleeritud rakendused. Tööriistakogum on kirjutatud Rust keeles ja turvavigastus on põhjustatud loogilisest veast mäluaadressimise reeglite määratlemisel Cranelift koodi genereerijas, mis tõlgendab riistvarast sõltumatut vaheesitust masinkoodiks x86_64 arhitektuurile.

Konkreetsemalt arvutati WebAssembly rakenduste jaoks 35-bitised efektiivsed aadressid, selle asemel et kasutada WebAssembly lubatud 33-bitiseid aadresse, mis nihutas lugemis- ja kirjutamistoimingute lubatud ala 34 GB-ni, samas kui liivakasti keskkonna seaded pakuvad kaitset 6 GB alates baas-aadressist. Seeläbi sai vahemik virtuaalsest mälust alates 6 GB kuni 34 GB baas-aadressist olema kergesti kätte saadav WebAssembly rakenduste lugemiseks ja kirjutamiseks. Selle mälu sees võivad asuda muud WebAssembly keskkonnad või WebAssembly aeglase täitmise komponendid.

Kui Wasmtime'i versiooni uuendamine pole võimalik, siis turvavea blokeerimise võimalusteks mainitakse valiku "Config::static_memory_maximum_size(0)" seadistamist, et rakendada kohustuslikku mälupiiride kontrolli igasuguste juurdepääsude korral (see toob endaga kaasa märkimisväärse jõudluse vähenemise). Teine valik on kasutada seadistust "Config::static_memory_guard_size(1 < 36)" mäluhaldusteenuste (Guard Page, mille juurdepääsu korral tekib erand) arvu suurendamiseks probleemses virtuaalse mälu vahemikus (see toob endaga kaasa suure hulga virtuaalse mäluruumi reserveerimise ja WebAssembly rakenduste samaaegse täitmise arvu piirangu).

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster