Nûvekirinên rastker Wasmtime 6.0.1, 5.0.1 û 4.0.1 qelsiya (CVE-2023-26489), ku astek xeternak a krîtîk jê re hatî destnîşan kirin, rast kirin. Qelsî dihêle ku dane li deverek bîranînê li derveyî sînorên ku ji bo koda WebAssembly-ya veqetandî destûr tê nivîsandin, were nivîsandin, ku dibe ku ji hêla êrîşker ve were bikar anîn da ku koda xwe li derveyî hawîrdora WASI ya veqetandî bicîh bîne.
Wasmtime ji bo xebitandina sepanên WebAssembly bi pêvekên WASI (Interface Pergala WebAssembly) wekî serîlêdanên xweser ên birêkûpêk demek xebitandinê ye. Amûrek bi zimanê Rust hatî nivîsandin, û qelsî ji ber xeletiyek mentiqî di pênasekirina qaîdeyên navnîşana bîranîna xêzkirî de di çêkera kodê Cranelift de, ku nûneriyek navber a serbixwe ji mîmarên hardware vediguhezîne koda makîneya îcrakar ji bo mîmariya x86_64.
Bi taybetî, ji bo sepanên WebAssembly, navnîşanên bandorker ên 35-bit li şûna navnîşanên 33-bit ên ku di WebAssembly de hatine destûr kirin, hatine hesibandin, ku sînorê bîranîna virtual ya ku ji bo xebatên xwendin û nivîsandinê hatî destûr kirin guhastiye 34 GB, dema ku mîhengên hawîrdora sandboxê parastinê peyda dike. 6 GB ji navnîşana bingehîn. Wekî encamek, rêza bîranîna virtual ji 6 heta 34 GB ji navnîşana bingehîn ji bo xwendin û nivîsandina ji serîlêdanên WebAssembly peyda bû. Ev bîranîn dikare hawîrdorên din ên WebAssembly an pêkhateyên dema xebitandinê yên WebAssembly mêvandar bike.
Ger ne gengaz be nûvekirina guhertoya Wasmtime, çareyek ji bo astengkirina xeletiyê ev e ku vebijarka "Config::static_memory_maximum_size(0)" diyar bike da ku kontrolkirina sînorên cuda li ser hemî gihîştinên bîranîna xêzkirî çalak bike (di encamê de cezayê performansa girîng tê dayîn) . Vebijarkek din ev e ku meriv mîhenga "Config::static_memory_guard_size(1 < 36)" bikar bîne da ku hejmara Rûpelên Parêzvanan zêde bike (îstîsnayek ku dema tê girtin) ku di nav rêza bîranîna virtual ya pirsgirêkdar de cih digirin (di encamê de hejmareke mezin ji bîranîna virtual tê veqetandin û sînorkirina hejmarê ku bi hevdemî sepanên WebAssembly dixebitin).
Source: opennet.ru
