Description
Wasmtime is a runtime for WebAssembly. Prior to versions 24.0.6, 36.0.6, 4.0.04, 41.0.4, and 42.0.0, Wasmtime's implementation of the `wasi:http/types.fields` resource is susceptible to panics when too many fields are added to the set of headers. Wasmtime's implementation in the `wasmtime-wasi-http` crate is backed by a data structure which panics when it reaches excessive capacity and this condition was not handled gracefully in Wasmtime. Panicking in a WASI implementation is a Denial of Service vector for embedders and is treated as a security vulnerability in Wasmtime. Wasmtime 24.0.6, 36.0.6, 40.0.4, 41.0.4, and 42.0.0 patch this vulnerability and return a trap to the guest instead of panicking. There are no known workarounds at this time. Embedders are encouraged to update to a patched version of Wasmtime.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
bytecodealliance wasmtime
< 24.0.6affected>= 25.0.0, < 36.0.6affected>= 37.0.0, < 40.0.4affected>= 41.0.0, < 41.0.4affected
References
- https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-243v-98vx-264h ↗
- https://github.com/bytecodealliance/wasmtime/commit/301dc7162cca51def19131019af1187f45901c0a ↗
- https://docs.rs/http/1.4.0/http/header/#limitations ↗
- https://github.com/bytecodealliance/wasmtime/releases/tag/v24.0.6 ↗
- https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.6 ↗
- https://github.com/bytecodealliance/wasmtime/releases/tag/v40.0.4 ↗
- https://github.com/bytecodealliance/wasmtime/releases/tag/v41.0.4 ↗