Wasmtime with Winch compiler backend on aarch64 may allow a sandbox-escaping memory access
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bytecodealliance | wasmtime | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bytecodealliance | Wasmtime |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-xx5w-cvp6-jv83 | Wasmtime with Winch compiler backend on aarch64 may allow a sandbox-escaping memory access |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.283% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* cpe:2.3:a:bytecodealliance:wasmtime:43.0.0:*:*:*:*:rust:*:* |
|
| Metrics |
cvssV3_1
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Bytecodealliance
Bytecodealliance wasmtime |
|
| Vendors & Products |
Bytecodealliance
Bytecodealliance wasmtime |
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-681 | |
| References |
| |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Wasmtime is a runtime for WebAssembly. From 25.0.0 to before 36.0.7, 42.0.2, and 43.0.1, Wasmtime with its Winch (baseline) non-default compiler backend may allow properly constructed guest Wasm to access host memory outside of its linear-memory sandbox. This vulnerability requires use of the Winch compiler (-Ccompiler=winch). By default, Wasmtime uses its Cranelift backend, not Winch. With Winch, the same incorrect assumption is present in theory on both aarch64 and x86-64. The aarch64 case has an observed-working proof of concept, while the x86-64 case is theoretical and may not be reachable in practice. This Winch compiler bug can allow the Wasm guest to access memory before or after the linear-memory region, independently of whether pre- or post-guard regions are configured. The accessible range in the initial bug proof-of-concept is up to 32KiB before the start of memory, or ~4GiB after the start of memory, independently of the size of pre- or post-guard regions or the use of explicit or guard-region-based bounds checking. However, the underlying bug assumes a 32-bit memory offset stored in a 64-bit register has its upper bits cleared when it may not, and so closely related variants of the initial proof-of-concept may be able to access truly arbitrary memory in-process. This could result in a host process segmentation fault (DoS), an arbitrary data leak from the host process, or with a write, potentially an arbitrary RCE. This vulnerability is fixed in 36.0.7, 42.0.2, and 43.0.1. | |
| Title | Wasmtime with Winch compiler backend on aarch64 may allow a sandbox-escaping memory access | |
| Weaknesses | CWE-125 CWE-787 |
|
| References |
| |
| Metrics |
cvssV4_0
|