Wasmtime doesn't fully sandbox all the Windows device filenames
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
Wasmtime is a fast and secure runtime for WebAssembly. Wasmtime's filesystem sandbox implementation on Windows blocks access to special device filenames such as "COM1", "COM2", "LPT0", "LPT1", and so on, however it did not block access to the special device filenames which use superscript digits, such as "COM¹", "COM²", "LPT⁰", "LPT¹", and so on. Untrusted Wasm programs that are given access to any filesystem directory could bypass the sandbox and access devices through those special device filenames with superscript digits, and through them gain access peripheral devices connected to the computer, or network resources mapped to those devices. This can include modems, printers, network printers, and any other device connected to a serial or parallel port, including emulated USB serial ports. Patch releases for Wasmtime have been issued as 24.0.2, 25.0.3, and 26.0.1. Users of Wasmtime 23.0.x and prior are recommended to upgrade to one of these patched versions. There are no known workarounds for this issue. Affected Windows users are recommended to upgrade.
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.2; 25.0.0 to before 25.0.3; = 26.0.0 | 24.0.2, 25.0.3 | Patch available | CNA |
| — | wasmtime (crates.io) | before 24.0.2 | 24.0.2 | Patch available | GHSA-c2f5-jxjv-2hh8 |
| — | wasmtime (crates.io) | 25.0.0 to before 25.0.3 | 25.0.3 | Patch available | GHSA-c2f5-jxjv-2hh8 |
| — | wasmtime (crates.io) | 26.0.0 to before 26.0.1 | 26.0.1 | Patch available | GHSA-c2f5-jxjv-2hh8 |
- wasmtime Vendorbytecodealliance Affected before 24.0.2; 25.0.0 to before 25.0.3; = 26.0.0 Fixed in 24.0.2, 25.0.3 Patch available CNA
- wasmtime (crates.io) Vendor— Affected before 24.0.2 Fixed in 24.0.2 Patch available GHSA-c2f5-jxjv-2hh8
- wasmtime (crates.io) Vendor— Affected 25.0.0 to before 25.0.3 Fixed in 25.0.3 Patch available GHSA-c2f5-jxjv-2hh8
- wasmtime (crates.io) Vendor— Affected 26.0.0 to before 26.0.1 Fixed in 26.0.1 Patch available GHSA-c2f5-jxjv-2hh8
CPE configurations NVD · 5
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* | before 24.0.2 | Vulnerable | bytecodealliance |
| cpe:2.3:a:bytecodealliance:wasmtime:25.0.0:*:*:*:*:rust:*:* | 25.0.0 | Vulnerable | bytecodealliance |
| cpe:2.3:a:bytecodealliance:wasmtime:25.0.1:*:*:*:*:rust:*:* | 25.0.1 | Vulnerable | bytecodealliance |
| cpe:2.3:a:bytecodealliance:wasmtime:25.0.2:*:*:*:*:rust:*:* | 25.0.2 | Vulnerable | bytecodealliance |
| cpe:2.3:a:bytecodealliance:wasmtime:26.0.0:*:*:*:*:rust:*:* | 26.0.0 | Vulnerable | bytecodealliance |
- cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* Versions before 24.0.2 Vulnerable ·bytecodealliance
- cpe:2.3:a:bytecodealliance:wasmtime:25.0.0:*:*:*:*:rust:*:* Versions 25.0.0 Vulnerable ·bytecodealliance
- cpe:2.3:a:bytecodealliance:wasmtime:25.0.1:*:*:*:*:rust:*:* Versions 25.0.1 Vulnerable ·bytecodealliance
- cpe:2.3:a:bytecodealliance:wasmtime:25.0.2:*:*:*:*:rust:*:* Versions 25.0.2 Vulnerable ·bytecodealliance
- cpe:2.3:a:bytecodealliance:wasmtime:26.0.0:*:*:*:*:rust:*:* Versions 26.0.0 Vulnerable ·bytecodealliance
Remediation
- Fix · CNA wasmtime (bytecodealliance) Fixed in 24.0.2, 25.0.3
- Fix · GHSA-c2f5-jxjv-2hh8 wasmtime (crates.io) Fixed in 24.0.2 Advisory →
- Fix · GHSA-c2f5-jxjv-2hh8 wasmtime (crates.io) Fixed in 25.0.3 Advisory →
- Fix · GHSA-c2f5-jxjv-2hh8 wasmtime (crates.io) Fixed in 26.0.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
Not affected: 2 products
- Migration Toolkit for Virtualization
- Red Hat Trusted Artifact Signer
Timeline
- 2026-10-02 Threatist record created from CVE-2024-51745
- 2026-10-03 Alias added: GHSA-c2f5-jxjv-2hh8
References
Advisory 2
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-2024-51745 · CVE Program
- CVE-2024-51745 · NVD
- FIRST EPSS
- GHSA-c2f5-jxjv-2hh8 · GitHub Advisory Database · CC BY 4.0
- CVE-2024-51745 · 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