Read the docs
TI-2026-34841 Aliases CVE-2026-47261GHSA-2r75-cxrj-cmph

Wasmtime: WASI path_open(TRUNCATE) bypasses `FilePerms::WRITE` host restriction

Priority LOW 39CWE-284Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
None · High · None
Fix status
Partial Red Hat: 2 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-284.

Summary

Wasmtime is a runtime for WebAssembly. In versions prior to 24.0.9, 36.0.10, and 44.0.2, when a filesystem preopen is given DirPerms::all() and FilePerms::READ without FilePerms::WRITE, this access control mechanism can be bypassed via the wasip2 descriptor.open-at or wasip1 path_open interfaces by opening a file with only the OpenFlags::TRUNCATE oflag. The root cause is that the clause handling OpenFlags::TRUNCATE in crates/wasi/src/filesystem.rs (Dir::open_at, lines 967–969) did not set open_mode |= OpenMode::WRITE;, which is later used for the access control check against FilePerms to determine whether opening the file is permitted; the single-line fix adds that missing assignment, after which the affected calls correctly fail with error-code.not-permitted and ERRNO_PERM respectively. Only wasmtime-wasi embeddings that combine DirPerms::MUTATE with FilePerms::READ are affected by this bug. In particular, the Wasmtime project's wasmtime-cli's use of wasmtime-wasi is not affected, because it always sets FilePerms::all() for all preopens. This issue has been fixed in versions 24.0.9, 36.0.10 and44.0.2.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00357 29th percentileScored 2026-11-07
Fix Partial wasmtime (bytecodealliance): 44.0.2, 36.0.10, 24.0.9wasmtime-wasi (crates.io): 44.0.2, 36.0.10, 24.0.9Red Hat: 2 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
bytecodealliancewasmtime37.0.0 to before 44.0.2; 25.0.0 to before 36.0.10; before 24.0.944.0.2, 36.0.10, 24.0.9Patch availableCNA
—wasmtime-wasi (crates.io)37.0.0 to before 44.0.244.0.2Patch availableGHSA-2r75-cxrj-cmph
—wasmtime-wasi (crates.io)25.0.0 to before 36.0.1036.0.10Patch availableGHSA-2r75-cxrj-cmph
—wasmtime-wasi (crates.io)before 24.0.924.0.9Patch availableGHSA-2r75-cxrj-cmph
  • wasmtime Vendorbytecodealliance Affected 37.0.0 to before 44.0.2; 25.0.0 to before 36.0.10; before 24.0.9 Fixed in 44.0.2, 36.0.10, 24.0.9 Patch available CNA
  • wasmtime-wasi (crates.io) Vendor— Affected 37.0.0 to before 44.0.2 Fixed in 44.0.2 Patch available GHSA-2r75-cxrj-cmph
  • wasmtime-wasi (crates.io) Vendor— Affected 25.0.0 to before 36.0.10 Fixed in 36.0.10 Patch available GHSA-2r75-cxrj-cmph
  • wasmtime-wasi (crates.io) Vendor— Affected before 24.0.9 Fixed in 24.0.9 Patch available GHSA-2r75-cxrj-cmph

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*before 24.0.9; 25.0.0 to before 36.0.10; 37.0.0 to before 44.0.2Vulnerablebytecodealliance
  • cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* Versions before 24.0.9; 25.0.0 to before 36.0.10; 37.0.0 to before 44.0.2 Vulnerable ·bytecodealliance

Remediation

  • Fix · CNA wasmtime (bytecodealliance) Fixed in 44.0.2, 36.0.10, 24.0.9
  • Fix · GHSA-2r75-cxrj-cmph wasmtime-wasi (crates.io) Fixed in 44.0.2 Advisory →
  • Fix · GHSA-2r75-cxrj-cmph wasmtime-wasi (crates.io) Fixed in 36.0.10 Advisory →
  • Fix · GHSA-2r75-cxrj-cmph wasmtime-wasi (crates.io) Fixed in 24.0.9 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Connectivity Link 1AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-47261
  2. 2026-10-03 Alias added: GHSA-2r75-cxrj-cmph

References

  • 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
See all 40 →

Sources