CVE-2025-53901 Wasmtime has host panic with `fd_renumber` WASIp1 function
A crafted WebAssembly guest can panic the host runtime via WASIp1 file descriptor handling, causing denial of service for embedders.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-53901?
CVE-2025-53901 is a low-severity denial of service vulnerability in bytecodealliance wasmtime, published on 18 Jul 2025. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Wasmtime is a runtime for WebAssembly. Prior to versions 24.0.4, 33.0.2, and 34.0.2, a bug in Wasmtime's implementation of the WASIp1 set of import functions can lead to a WebAssembly guest inducing a panic in the host (embedder). The specific bug is triggered by calling `path_open` after calling `fd_renumber` with either two equal argument values or a second argument being equal to a previously-closed file descriptor number value. The corrupt state introduced in `fd_renumber` will lead to the subsequent opening of a file descriptor to panic. This panic cannot introduce memory unsafety or allow WebAssembly to break outside of its sandbox, however. There is no possible heap corruption or memory unsafety from this panic. This bug is in the implementation of Wasmtime's `wasmtime-wasi` crate which provides an implementation of WASIp1. The bug requires a specially crafted call to `fd_renumber` in addition to the ability to open a subsequent file descriptor. Opening a second file descriptor is only possible when a preopened directory was provided to the guest, and this is common amongst embeddings. A panic in the host is considered a denial-of-service vector for WebAssembly embedders and is thus a security issue in Wasmtime. This bug does not affect WASIp2 and embedders using components. In accordance with Wasmtime's release process, patch releases are available as 24.0.4, 33.0.2, and 34.0.2. Users of other release of Wasmtime are recommended to move to a supported release of Wasmtime. Embedders who are using components or are not providing guest access to create more file descriptors (e.g. via a preopened filesystem directory) are not affected by this issue. Otherwise, there is no workaround at this time, and affected embeddings are recommended to update to a patched version which will not cause a panic in the host.
Weakness: CWE-672
Which versions are affected by CVE-2025-53901?
13 open source packages ship an affected version, including wasmtime and wasmtime-wasi. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
wasmtime crates.io | From 10.0.0 | 24.0.4, 33.0.2, 34.0.2 |
wasmtime crates.io | From 10.0.0 | 24.0.4 |
wasmtime crates.io | From 10.0.0 | 24.0.4 |
wasmtime crates.io | From 33.0.0 | 33.0.2 |
wasmtime crates.io | From 33.0.0 | 33.0.2 |
wasmtime crates.io | From 34.0.0 | 34.0.2 |
7 more packages
wasmtime crates.io | From 34.0.0 | 34.0.2 |
wasmtime-wasi crates.io | All versions | 24.0.4 |
wasmtime-wasi crates.io | All versions | 24.0.4 |
wasmtime-wasi crates.io | From 25.0.0 | 33.0.2 |
wasmtime-wasi crates.io | From 25.0.0 | 33.0.2 |
wasmtime-wasi crates.io | From 34.0.0 | 34.0.2 |
wasmtime-wasi crates.io | From 34.0.0 | 34.0.2 |
Linux distribution packages (2)
kwctl openSUSE:Tumbleweed | All versions | 1.27.1-1.1 |
zellij openSUSE:Tumbleweed | All versions | 0.43.1-2.1 |
Products include Bytecodealliance Wasmtime.
How do I fix CVE-2025-53901?
Upgrade wasmtime to a fixed version for your release line: 24.0.4, 33.0.2 or 34.0.2.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-53901 being exploited?
There is no known exploitation of CVE-2025-53901 in the wild and no public exploit code.
Other vulnerabilities in bytecodealliance wasmtime
- CVE-2026-34971 Wasmtime miscompiled guest heap access enables sandbox escape on aarch64 Cranelift
- CVE-2026-34987 Wasmtime with Winch compiler backend on aarch64 may allow a sandbox-escaping memory access
- CVE-2022-39393 Wasmtime vulnerable to data leakage between instances in the pooling allocator
- CVE-2022-24791 Use after free in Wasmtime
- CVE-2026-47261 Wasmtime: WASI path_open(TRUNCATE) bypasses `FilePerms::WRITE` host restriction
Sources
Also known as DEBIAN-CVE-2025-53901, GHSA-fm79-3f68-h2fc, JLSEC-2026-1349, RUSTSEC-2025-0046, UBUNTU-CVE-2025-53901, openSUSE-SU-2025:15398-1 and 1 more.