Wasmtime 6.0.1á 5.0.1 ááŸáá·áº 4.0.1 ááŸááºáááºáá±á¬ á¡ááºááááºáá»á¬ážááẠCritical á¡ááá·áºáááºááŸááºáá¬ážááá·áº á¡á¬ážáááºážáá»áẠ(CVE-2023-26489) ááᯠááŒá¯ááŒááºáá±ážáááºá á¡á¬ážáááºážáá»ááºááẠáá®ážááŒá¬áž WASI áááºáááºážáá»ááºá¡ááŒááºáááºááœáẠáááºážááá¯á·ááá¯ááºááá¯ááºáá±á¬ááºááŸá¯ááᯠá á®á ááºááẠááá¯ááºááá¯ááºáá°á០á¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº áá®ážááŒá¬áž WebAssembly áá¯ááºá¡ááœáẠááœáá·áºááŒá¯áá¬ážááá·áº áááºááááááºáá»á¬ážá¡ááŒááºáááºááŸá ááŸááºáá¬ááºá§áááá¬áá áºáá¯ááá¯á· áá±áá¬á á¬áá±ážááŒááºážááᯠá á¯á ááºážááœáá·áºááŒá¯áááºá
Wasmtime ááẠáá¯á¶ááŸááºáá®ážááá·áº á¡ááá®áá±ážááŸááºážáá»á¬ážáá²á·ááá¯á· WASI (WebAssembly System Interface) ááá¯ážáá»á²á·ááŸá¯áá»á¬ážááŒáá·áº WebAssembly á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠá¡áá»áááºáá áºáá¯ááŒá áºáááºá áááááá¬áááºáá¬ááá¬ááᯠRust ááŒáá·áº áá±ážáá¬ážáá¬ážááŒá®ážá á¡á¬ážáááºážáá»ááºááŸá¬ Cranelift áá¯áẠáá»ááºááá±áá¬ááŸá áá»ááºážááŸááºáá¬ááºááááºá á¬ááá¯ááºáᬠá ááºážáá»ááºážáá»á¬ážá á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºááœáẠáá¯áá¹áááááºážááŒáá·áº á¡ááŸá¬ážá¡ááœááºážááŒá áºáááŒááºážááŒá áºááŒá®ážá áááºážááẠáá¬á·ááºáá²áááá¯áá¬áá»á¬ážá á¡áááºá¡áááºááá¯ááºá á¬ážááŒá¯ááŸá¯ááᯠx86_64 áááá¯áá¬á¡ááœáẠáááºáááºááá¯ááºáá±á¬ á ááºáá¯ááºá¡ááŒá áºááá¯á· áá¬áá¬ááŒááºáá±ážáá±á¬ Cranelift code generator ááœáẠááŒá áºáááºá
á¡áá°ážáááŒáá·áºá WebAssembly ááœááºááœáá·áºááŒá¯áá¬ážááá·áº 35-bit ááááºá á¬áá»á¬ážá¡á á¬áž WebAssembly á¡ááá®áá±ážááŸááºážáá»á¬ážá¡ááœáẠ33-bit áááá±á¬ááºáá±á¬ááááºá á¬áá»á¬ážááᯠááœááºáá»ááºáá¬ážááŒá®ážá áááºážááẠáááºááŸá¯ááŒááºážááŸáá·áºáá±ážááŒááºážáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠááœáá·áºááŒá¯áá¬ážááá·áº virtual memory áááá·áºáááºáá»ááºááᯠ34 GB ááá¯á·ááŒá±á¬ááºážááœá¬ážáᬠsandbox áááºáááºážáá»ááºáááºáááºáá»á¬ážá 6 GB á¡ááœáẠá¡áá¬á¡ááœááºáá±ážáá«áááºá á¡ááŒá±áá¶ááááºá á¬ááá±á ááááºá¡áá±ááŒáá·áºá á¡ááŒá±áá¶ááááºá á¬á០6 á០34 GB á០virtual memory á¡ááœá¬á¡áá±ážááᯠWebAssembly á¡ááá®áá±ážááŸááºážáá»á¬ážá០á á¬áááºááŒááºážááŸáá·áº á á¬áá±ážááŒááºážááá¯á·á¡ááœáẠáááá¯ááºáá«áááºá á€ááŸááºáá¬ááºááẠá¡ááŒá¬ážáá±á¬ WebAssembly áááºáááºážáá»ááºáá»á¬áž ááá¯á·ááá¯áẠWebAssembly runtime á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáááºáá¶áá±á¬ááºááœááºáá±ážááá¯ááºáááºá
Wasmtime áá¬ážááŸááºážááᯠá¡ááºááááºáá¯ááºááẠáááŒá
áºááá¯ááºáá«áá "Config::static_memory_maximum_size(0)" ááœá±ážáá»ááºááŸá¯ááᯠáááºááŸááºááŒááºážááœáẠáááºááá·áº linear memory access ááá¯áááᯠá
á
áºáá±ážááŒááºážááœáẠáááŒá
áºááá± á
á
áºáá±ážááŒááºážááᯠááœáá·áºááẠá¡ááŸá¬ážá¡ááœááºážááᯠááááºááá¯á·ááẠááŒá±ááŸááºážáááºážáá»á¬ážá¡ááŒá
Ạáá±á¬áºááŒááŒááºážááŒá
áºááẠ(áááááá¬áᬠá
áœááºážáá±á¬ááºááẠáá»áááºážááœá¬ážááŒááºáž ááááºáá»á¬áž)á á¡ááŒá¬ážááœá±ážáá»ááºá
áá¬ááŸá¬ ááŒá¿áá¬ááŸááá±á¬ virtual memory range ááœááºááŸááá±á¬ guard pages á¡áá±á¡ááœááºááᯠááá¯ážááŒáŸáá·áºááẠ"Config::static_memory_guard_size(1 < 36)" ááá¯á¡áá¯á¶ážááŒá¯ááẠ(Guard Pageá áááºáá±á¬ááºááá·áºá¡áá« áá»áœááºážáá»ááºáá
áºáá¯ááẠáá»áœááºážáá»ááºáá
áºáá¯ááŒá
áºáááº) (ááá¬ááá»á¬ážá
áœá¬ááᯠááŒáá¯áááºááŸá¬áá°ááŸá¯ááŒá
áºá
á±ááẠvirtual memory ááŸáá·áº áá
áºááŒáá¯ááºáááºáž WebAssembly á¡ááá®áá±ážááŸááºáž á¡áá±á¡ááœááºááᯠááá·áºáááºááŒááºáž)á
source: opennet.ru