Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Guest requires low privileges and file-open permission; no confidentiality or integrity impact; availability impact is local to host file descriptor pool.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Wasmtime is a runtime for WebAssembly. All versions prior to 24.0.10; versions 25.0.0 through those before 36.0.11; versions 37.0.0 through those before 44.0.3; and versions 45.0.0 and 45.0.1 contain a native implementation of WASIp1 which suffers from a leak in the fd_renumber function where the file descriptor being renumbered to is not properly closed. Wasmtime's implementation erroneously only updated the table of descriptors for WASIp1 and didn't update the underlying table of descriptors used by the host. This behavior means that while fd_renumber works correctly from a guest's perspective it ends up leaking resources in the host that aren't cleaned up until the corresponding Store is destroyed. In a loop, guests can use fd_renumber to cause hosts to exhaust both resources and file descriptors. This bug only affects the native implementation of WASIp1, meaning that only runtimes which load core wasm modules and expose fd_renumber are affected. Runtimes are additionally only affected if they expose the ability to acquire a file descriptor, such as opening a file. For runtimes that deny access to files they are unaffected. This issue has been fixed in versions 24.0.10, 36.0.11, 44.0.3, and 45.0.2.
AnalysisAI
Resource exhaustion in Wasmtime's native WASIp1 implementation allows low-privileged WebAssembly guests to exhaust host-level file descriptors and OS resources by repeatedly invoking fd_renumber in a loop. The affected versions span four distinct release branches - all pre-24.0.10, 25.x-35.x, 37.x-44.x, and 45.0.0-45.0.1 - but only runtimes that both expose fd_renumber and grant guests the ability to open files are vulnerable. No public exploit code exists and the issue is not listed in CISA KEV; however, the attack is mechanically straightforward once the conditions are met, making patching the primary defense.
Technical ContextAI
Wasmtime (cpe:2.3:a:bytecodealliance:wasmtime) is Bytecode Alliance's production WebAssembly runtime, widely used in edge compute and server-side sandboxing. WASIp1 (WebAssembly System Interface preview 1) provides a POSIX-like syscall layer bridging wasm modules to host OS resources. The fd_renumber call is intended to atomically close the destination file descriptor and reassign the source FD to that slot - analogous to dup2(). Wasmtime's native WASIp1 implementation maintained two separate descriptor tables: a guest-visible one and an underlying host one. fd_renumber correctly updated the guest table but failed to close the corresponding host file descriptor entry (CWE-772: Missing Release of Resource after Effective Lifetime), meaning the host OS handle was never reclaimed. Resources accumulate until the associated Store object is destroyed, and in a tight loop a guest can rapidly exhaust the process's open file descriptor limit and OS resource quota.
RemediationAI
Upgrade to one of the vendor-released patched versions: 24.0.10, 36.0.11, 44.0.3, or 45.0.2, selecting the branch that matches your current deployment. Details are available at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-3p27-qvp9-27qf. If an immediate upgrade is not possible, the most effective compensating control is to configure the runtime to deny guest access to the host filesystem entirely - per the advisory, runtimes that do not expose file-open capability are unaffected, making this a clean mitigation with the trade-off of removing legitimate filesystem I/O for guests. Alternatively, rate-limiting or capping the number of fd_renumber calls a guest may make within a session can bound the leak rate, though this requires custom instrumentation and does not eliminate the underlying resource leak. No patch version should be inferred beyond those explicitly named above.
wasmtime is a fast and secure runtime for WebAssembly. Rated critical severity (CVSS 9.9), this vulnerability is remotel
Wasmtime is a standalone runtime for WebAssembly. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp
Wasmtime is a standalone JIT-style runtime for WebAssembly, using Cranelift. Rated critical severity (CVSS 9.8), this vu
wasmtime is a runtime for WebAssembly. Rated medium severity (CVSS 5.5), this vulnerability is low attack complexity. Pu
Memory sandbox escape in Wasmtime's Winch compiler (versions 25.0.0 to before 36.0.7, 42.0.2, 43.0.1) enables authentica
Arbitrary memory read/write vulnerability in Bytecode Alliance Wasmtime versions 32.0.0 through 36.0.6, 42.0.0-42.0.1, a
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.6), this vulnerability is remotely exploit
Wasmtime's HTTP header handling in the wasmtime-wasi-http crate crashes when processing excessive header fields, allowin
Wasmtime versions 39.0.0 and later experience a denial-of-service panic when async WebAssembly component functions are c
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 7.5), this vulnerability is remotely exploit
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41136
GHSA-3p27-qvp9-27qf