# CVE-2026-47261: Bytecode Alliance Wasmtime access control bypass in wasmtime-wasi

Source: https://junglewise.ai/threats/cve-2026-47261-bytecode-alliance-wasmtime-access-control-bypass-in-wasmtime-wasi  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-15. Updated: 2026-06-15  
License: CC BY 4.0 with a link back

CVE-2026-47261 · Severity: high · CVSS 7.5 · Published 2026-06-15

Wasmtime is a runtime used to execute WebAssembly applications. A security flaw in its filesystem integration (WASI) allowed applications to bypass read-only restrictions and truncate (clear) files they should not have permission to modify. This could lead to unauthorized data loss or corruption in environments where Wasmtime is embedded with specific security configurations.

Technologies: [wasmtime-wasi (crates.io)](https://junglewise.ai/threats/technologies/wasmtime-wasi). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io).

## Quick answers

**Is CVE-2026-47261 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-47261 being exploited in the wild.

**How severe is CVE-2026-47261?** High severity, with a CVSS score of 7.5, published 15 June 2026.

**Which products and versions are affected?** wasmtime-wasi (crates.io) SEMVER:introduced=0.0.0-0,fixed=24.0.9,introduced=25.0.0,fixed=36.0.10,introduced=37.0.0,fixed=44.0.2,introduced=45.0.0,fixed=45.0.0, SEMVER:introduced=37.0.0,fixed=44.0.2.

**Is there a fix for CVE-2026-47261?** Yes. wasmtime-wasi (crates.io): upgrade to 44.0.2, 45.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-47261 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-47261?** Check whether you run wasmtime-wasi (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- wasmtime-wasi (crates.io): upgrade to 44.0.2, 45.0.0 or later

  ```sh
  cargo update -p wasmtime-wasi
  ```


## Technical details

An improper access control vulnerability exists in the wasmtime-wasi crate due to a logic error in the filesystem implementation. When handling the OpenFlags::TRUNCATE flag in crates/wasi/src/filesystem.rs, the code failed to update the internal open_mode to include OpenMode::WRITE. This caused subsequent access control checks against FilePerms to incorrectly permit the operation even if the host had only granted read-only permissions. An attacker executing a WebAssembly module can exploit this via the wasip2 descriptor.open-at or wasip1 path_open interfaces to truncate files. The vulnerability specifically affects embeddings that combine DirPerms::MUTATE with FilePerms::READ; the standard wasmtime-cli is not affected as it defaults to full permissions. Fixes are available in versions 24.0.9, 36.0.10, and 44.0.2.

## Affected products

- Bytecode Alliance wasmtime-wasi < 24.0.9, < 36.0.10, < 44.0.2

## Identifiers

- CVE-2026-47261
- GHSA-2r75-cxrj-cmph
- RUSTSEC-2026-0149

## Timeline

- 2026-05-21: patched: Fixes released in multiple branches
- 2026-05-21: advisory: GitHub Security Advisory published
- 2026-06-15: disclosed: NVD publication date

## References

- [https://github.com/bytecodealliance/wasmtime/releases/tag/v24.0.9](https://github.com/bytecodealliance/wasmtime/releases/tag/v24.0.9)
- [https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.10](https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.10)
- [https://github.com/bytecodealliance/wasmtime/releases/tag/v44.0.2](https://github.com/bytecodealliance/wasmtime/releases/tag/v44.0.2)
- [https://github.com/bytecodealliance/wasmtime/releases/tag/v45.0.0](https://github.com/bytecodealliance/wasmtime/releases/tag/v45.0.0)
- [https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-2r75-cxrj-cmph](https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-2r75-cxrj-cmph)

## Related threats

- [RUSTSEC-2026-0420 - wasip3 UDP `send` can deliver a datagram to an address only allowed for receiving](https://junglewise.ai/threats/rustsec-2026-0420-wasip3-udp-send-can-deliver-a-datagram-to-an-address-cfc65c09)
- [Wasmtime-WASI filesystem sandbox escape with symlink rename](https://junglewise.ai/threats/rustsec-2026-0352-filesystem-sandbox-escape-when-renaming-symlinks-with-86b22c86)
- [RUSTSEC-2026-0321 - WASI preview 0 implementation of `poll_oneoff` circumvents fuel consumption](https://junglewise.ai/threats/rustsec-2026-0321-wasi-preview-0-implementation-of-poll-oneoff-67c5f6e0)
- [RUSTSEC-2026-0324 - Guest can panic host through filesystem timestamp before the epoch on wasip3](https://junglewise.ai/threats/rustsec-2026-0324-guest-can-panic-host-through-filesystem-timestamp-681be084)
- [wasmtime-wasi excessive memory allocation when guests lack stdio](https://junglewise.ai/threats/rustsec-2026-0322-excessive-allocated-memory-on-the-host-when-guests-84ef0787)
