You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I found a reachable assertion (CWE-617) during fuzzing wasmtime with cranelift backend and almost all features enabled in the config (specifically config.debug_info(true)). The bug seems to be related to generation of DWARF debugging.
./target/debug/debug_wasmtime_all_cranelift assert_wasmtime_debug_simulated_dwarf.wasm
Start debugging of wasmtime_all_cranelift
file_to_process: "assert_wasmtime_debug_simulated_dwarf.wasm"
thread 'main' panicked at 'assertion failed: !bytes.contains(&0)', <::std::macros::panic macros>:2:4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
use wasmtime::{Config,Engine,Module,Store,Strategy};// read data from provided filelet data = read_contents_from_path(&args[1]).expect("cannot read file content");letmut config = Config::new();match config.strategy(Strategy::Cranelift){Ok(o) => o,
_ => return,};
config
.debug_info(true).wasm_threads(true).wasm_reference_types(true).wasm_simd(true).wasm_bulk_memory(true).wasm_multi_value(true);let store = Store::new(&Engine::new(&config));let _module = Module::from_binary(&store,&data);}
Which Wasmtime version / commit hash / branch are you using?
crates version: wasmtime = "0.15"
BACKTRACE
RUST_BACKTRACE=1 ./target/debug/debug_wasmtime_all_cranelift assert_wasmtime_debug_simulated_dwarf.wasm
file_to_process: "assert_wasmtime_debug_simulated_dwarf.wasm"
thread 'main' panicked at 'assertion failed: !bytes.contains(&0)', <::std::macros::panic macros>:2:4
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /cargo/registry/src/git.luolix.top-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
[...]
11: std::panicking::begin_panic
at /rustc/85976442558bf2d09cec3aa49c9c9ba86fb15c1f/src/libstd/panicking.rs:390
12: gimli::write::str::StringTable::add
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-debug-0.15.0/<::std::macros::panic macros>:2
==> 13: wasmtime_debug::transform::simulate::generate_simulated_dwarf
==> at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-debug-0.15.0/src/transform/simulate.rs:293
==> 14: wasmtime_debug::transform::transform_dwarf
==> at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-debug-0.15.0/src/transform/mod.rs:107
==> 15: wasmtime_debug::emit_debugsections_image
==> at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-debug-0.15.0/src/lib.rs:82
16: wasmtime_jit::compiler::Compiler::compile
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-jit-0.15.0/src/compiler.rs:215
17: wasmtime_jit::instantiate::RawCompiledModule::new
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-jit-0.15.0/src/instantiate.rs:83
18: wasmtime_jit::instantiate::CompiledModule::new
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-jit-0.15.0/src/instantiate.rs:154
19: wasmtime::module::Module::compile
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-0.15.0/src/module.rs:366
20: wasmtime::module::Module::from_binary_unchecked
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-0.15.0/src/module.rs:335
21: wasmtime::module::Module::from_binary
at /home/scop/.cargo/registry/src/git.luolix.top-1ecc6299db9ec823/wasmtime-0.15.0/src/module.rs:304
[...]
32: main
33: __libc_start_main
34: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full`for a verbose backtrace.
The text was updated successfully, but these errors were encountered:
pventuzelo
added
the
bug
Incorrect behavior in the current implementation that needs fixing
label
Apr 14, 2020
Description
I found a reachable assertion (CWE-617) during fuzzing wasmtime with cranelift backend and almost all features enabled in the config (specifically
config.debug_info(true)
). The bug seems to be related to generation of DWARF debugging.Maybe related to #1489
@yurydelendik
Crash
What are the steps to reproduce the issue?
Download the crashing file:
assert_wasmtime_debug_simulated_dwarf.zip
Testing piece of code:
Which Wasmtime version / commit hash / branch are you using?
crates version:
wasmtime = "0.15"
BACKTRACE
The text was updated successfully, but these errors were encountered: