Wasmtime has a Heap OOB read in component model UTF-16 to latin1+utf16 string transcoding
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-125 and the CVSS impact.
Summary
Wasmtime is a runtime for WebAssembly. Prior to 24.0.7, 36.0.7, 42.0.2, and 43.0.1, Wasmtime contains a vulnerability where when transcoding a UTF-16 string to the latin1+utf16 component-model encoding it would incorrectly validate the byte length of the input string when performing a bounds check. Specifically the number of code units were checked instead of the byte length, which is twice the size of the code units. This vulnerability can cause the host to read beyond the end of a WebAssembly's linear memory in an attempt to transcode nonexistent bytes. In Wasmtime's default configuration this will read unmapped memory on a guard page, terminating the process with a segfault. Wasmtime can be configured, however, without guard pages which would mean that host memory beyond the end of linear memory may be read and interpreted as UTF-16. A host segfault is a denial-of-service vulnerability in Wasmtime, and possibly being able to read beyond the end of linear memory is additionally a vulnerability. Note that reading beyond the end of linear memory requires nonstandard configuration of Wasmtime, specifically with guard pages disabled. 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-hx6p-xpx3-jvvv |
| — | wasmtime (crates.io) | 25.0.0 to before 36.0.7 | 36.0.7 | Patch available | GHSA-hx6p-xpx3-jvvv |
| — | wasmtime (crates.io) | 37.0.0 to before 42.0.2 | 42.0.2 | Patch available | GHSA-hx6p-xpx3-jvvv |
| — | wasmtime (crates.io) | 43.0.0 to before 43.0.1 | 43.0.1 | Patch available | GHSA-hx6p-xpx3-jvvv |
- 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-hx6p-xpx3-jvvv
- wasmtime (crates.io) Vendor— Affected 25.0.0 to before 36.0.7 Fixed in 36.0.7 Patch available GHSA-hx6p-xpx3-jvvv
- wasmtime (crates.io) Vendor— Affected 37.0.0 to before 42.0.2 Fixed in 42.0.2 Patch available GHSA-hx6p-xpx3-jvvv
- wasmtime (crates.io) Vendor— Affected 43.0.0 to before 43.0.1 Fixed in 43.0.1 Patch available GHSA-hx6p-xpx3-jvvv
CPE configurations NVD · 1
| 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; 43.0.0 to before 43.0.1 | 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; 43.0.0 to before 43.0.1 Vulnerable ·bytecodealliance
Remediation
- Fix · CNA wasmtime (bytecodealliance) Fixed in 24.0.7, 36.0.7, 42.0.2, 44.0.1
- Fix · GHSA-hx6p-xpx3-jvvv wasmtime (crates.io) Fixed in 24.0.7 Advisory →
- Fix · GHSA-hx6p-xpx3-jvvv wasmtime (crates.io) Fixed in 36.0.7 Advisory →
- Fix · GHSA-hx6p-xpx3-jvvv wasmtime (crates.io) Fixed in 42.0.2 Advisory →
- Fix · GHSA-hx6p-xpx3-jvvv 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 |
Not affected: 1 product
- Red Hat Enterprise Linux 10
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34941
- 2026-10-03 Alias added: GHSA-hx6p-xpx3-jvvv
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-34941 · CVE Program
- CVE-2026-34941 · NVD
- FIRST EPSS
- GHSA-hx6p-xpx3-jvvv · GitHub Advisory Database · CC BY 4.0
- CVE-2026-34941 · 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