Wasmtime has an out-of-bounds write or crash when transcoding component model strings
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · High
- Fix status
- Partial Red Hat: 2 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
Wasmtime is a runtime for WebAssembly. Prior to 24.0.7, 36.0.7, 42.0.2, and 43.0.1, Wasmtime's implementation of transcoding strings between components contains a bug where the return value of a guest component's realloc is not validated before the host attempts to write through the pointer. This enables a guest to cause the host to write arbitrary transcoded string bytes to an arbitrary location up to 4GiB away from the base of linear memory. These writes on the host could hit unmapped memory or could corrupt host data structures depending on Wasmtime's configuration. Wasmtime by default reserves 4GiB of virtual memory for a guest's linear memory meaning that this bug will by default on hosts cause the host to hit unmapped memory and abort the process due to an unhandled fault. Wasmtime can be configured, however, to reserve less memory for a guest and to remove all guard pages, so some configurations of Wasmtime may lead to corruption of data outside of a guest's linear memory, such as host data structures or other guests's linear memories. This vulnerability is fixed in 24.0.7, 36.0.7, 42.0.2, and 43.0.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| bytecodealliance | wasmtime | before 24.0.7; 25.0.0 to before 36.0.7; 37.0.0 to before 42.0.2; 43.0.0 to before 44.0.1 | 24.0.7, 36.0.7, 42.0.2, 44.0.1 | Patch available | CNA |
| — | wasmtime (crates.io) | before 24.0.7 | 24.0.7 | Patch available | GHSA-394w-hwhg-8vgm |
| — | wasmtime (crates.io) | 25.0.0 to before 36.0.7 | 36.0.7 | Patch available | GHSA-394w-hwhg-8vgm |
| — | wasmtime (crates.io) | 37.0.0 to before 42.0.2 | 42.0.2 | Patch available | GHSA-394w-hwhg-8vgm |
| — | wasmtime (crates.io) | 43.0.0 to before 43.0.1 | 43.0.1 | Patch available | GHSA-394w-hwhg-8vgm |
- wasmtime Vendorbytecodealliance Affected before 24.0.7; 25.0.0 to before 36.0.7; 37.0.0 to before 42.0.2; 43.0.0 to before 44.0.1 Fixed in 24.0.7, 36.0.7, 42.0.2, 44.0.1 Patch available CNA
- wasmtime (crates.io) Vendor— Affected before 24.0.7 Fixed in 24.0.7 Patch available GHSA-394w-hwhg-8vgm
- wasmtime (crates.io) Vendor— Affected 25.0.0 to before 36.0.7 Fixed in 36.0.7 Patch available GHSA-394w-hwhg-8vgm
- wasmtime (crates.io) Vendor— Affected 37.0.0 to before 42.0.2 Fixed in 42.0.2 Patch available GHSA-394w-hwhg-8vgm
- wasmtime (crates.io) Vendor— Affected 43.0.0 to before 43.0.1 Fixed in 43.0.1 Patch available GHSA-394w-hwhg-8vgm
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* | before 24.0.7; 25.0.0 to before 36.0.7; 37.0.0 to before 42.0.2 | Vulnerable | bytecodealliance |
| cpe:2.3:a:bytecodealliance:wasmtime:43.0.0:*:*:*:*:rust:*:* | 43.0.0 | Vulnerable | bytecodealliance |
- cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* Versions before 24.0.7; 25.0.0 to before 36.0.7; 37.0.0 to before 42.0.2 Vulnerable ·bytecodealliance
- cpe:2.3:a:bytecodealliance:wasmtime:43.0.0:*:*:*:*:rust:*:* Versions 43.0.0 Vulnerable ·bytecodealliance
Remediation
- Fix · CNA wasmtime (bytecodealliance) Fixed in 24.0.7, 36.0.7, 42.0.2, 44.0.1
- Fix · GHSA-394w-hwhg-8vgm wasmtime (crates.io) Fixed in 24.0.7 Advisory →
- Fix · GHSA-394w-hwhg-8vgm wasmtime (crates.io) Fixed in 36.0.7 Advisory →
- Fix · GHSA-394w-hwhg-8vgm wasmtime (crates.io) Fixed in 42.0.2 Advisory →
- Fix · GHSA-394w-hwhg-8vgm wasmtime (crates.io) Fixed in 43.0.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Connectivity Link 1 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-35195
- 2026-10-03 Alias added: GHSA-394w-hwhg-8vgm
References
More bytecodealliance Wasmtime vulnerabilities
- TI-2026-21632 Wasmtime is vulnerable to panic when dropping a `[Typed]Func::call_async` future CVSS 4.0MEDIUM 6.9
- TI-2023-11636 Guest-controlled out-of-bounds read/write on x86_64 in wasmtime CVSS 3.1CRITICAL 10.0
- TI-2022-18765 Wasmtime vulnerable to data leakage between instances in the pooling allocator CVSS 3.1HIGH 8.6
- TI-2022-08604 Use after free in Wasmtime CVSS 3.1CRITICAL 9.8
- TI-2022-18766 wasmtime_trap_code C API function has out of bounds write vulnerability CVSS 3.1CRITICAL 9.8
- TI-2026-27209 Wasmtime with Winch compiler backend on aarch64 may allow a sandbox-escaping memory access CVSS 4.0CRITICAL 9.0
Sources
- CVE-2026-35195 · CVE Program
- CVE-2026-35195 · NVD
- FIRST EPSS
- GHSA-394w-hwhg-8vgm · GitHub Advisory Database · CC BY 4.0
- CVE-2026-35195 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences