fix(security/high/crates/augurs-prophet): update rust crate wasmtime-wasi to v45 [security] - #509
Closed
renovate-sh-app[bot] wants to merge 1 commit into
Closed
Conversation
renovate-sh-app
Bot
deleted the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
June 3, 2026 16:13
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
2 times, most recently
from
June 4, 2026 16:14
5e04a71 to
3767aec
Compare
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
from
June 22, 2026 19:28
3767aec to
7aecc89
Compare
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
from
July 20, 2026 16:08
7aecc89 to
4f7fbbf
Compare
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
from
July 30, 2026 13:09
4f7fbbf to
3daf27b
Compare
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
from
August 12, 2026 22:08
3daf27b to
4fd2904
Compare
…wasi to v45 [security] | datasource | package | from | to | | ---------- | ------------- | ------ | ------ | | crate | wasmtime-wasi | 42.0.2 | 45.0.3 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
renovate-sh-app
Bot
force-pushed
the
renovate/major-security-cratesaugurs-prophet-wasmtime-wasi
branch
from
August 13, 2026 07:11
4fd2904 to
631d843
Compare
Collaborator
|
Superseded by #539, which bumps |
sd2k
added a commit
that referenced
this pull request
Aug 24, 2026
…e-wasi-io to v48 (#539) Bumps all three wasmtime crates in lockstep from 42 to 48, resolving the wasmtime (medium) and wasmtime-wasi (high) security advisories flagged by Renovate in #508 and #509. Renovate raised these as separate PRs bumping one crate at a time, which is impossible: wasmtime, wasmtime-wasi and wasmtime-wasi-io must share the same major version, so each single-crate bump failed to compile with a version mismatch. Bumping all three together to the latest common release (48.0.0) satisfies both advisories and requires no source changes. Supersedes #508 and #509. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
|
Resolved by #539 (now merged), which bumped wasmtime, wasmtime-wasi and wasmtime-wasi-io together to v48. The advisory this PR addressed is fixed on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
42.0.2→45.0.3wasmtime-wasi: WASI path_open(TRUNCATE) bypasses
FilePerms::WRITEhost restrictionCVE-2026-47261 / GHSA-2r75-cxrj-cmph
More information
Details
Summary
In
wasmtime-wasi, when a filesystem preopen is givenDirPerms::all()andFilePerms::READwithoutFilePerms::WRITE, this wasmtime-wasi enforced access control mechanism can be bypassed by using the wasip2descriptor.open-ator wasip1path_openinterfaces by opening a file withOpenFlags::TRUNCATEoflag only, for example:The root cause is that the clause that considered
OpenFlags::TRUNCATEdid not setopen_mode |= OpenMode::WRITE;, used later in that function for the access control check againstFilePermsfor whether opening that file is permitted. With the bug corrected, these calls toopen-atandpath_openfail witherror-code.not-permittedandERRNO_PERMrespectively.The bug in
crates/wasi/src/filesystem.rs,Dir::open_at, lines 967–969:and the single line fix is:
Only wasmtime-wasi embeddings that use a combination of DirPerms::MUTATE with FilePerms::READ are affected by this bug, e.g. those that use in the
WasiCtxBuilder:In particular, the Wasmtime project's
wasmtime-cli's use of wasmtime-wasi is not affected, because it always setsFilePerms::all()for all preopens.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
wasmtime-wasi: WASI path_open(TRUNCATE) bypasses
FilePerms::WRITEhost restrictionCVE-2026-47261 / GHSA-2r75-cxrj-cmph / RUSTSEC-2026-0149
More information
Details
Summary
In
wasmtime-wasi, when a filesystem preopen is givenDirPerms::all()andFilePerms::READwithoutFilePerms::WRITE, this wasmtime-wasi enforced access control mechanism can be bypassed by using the wasip2descriptor.open-ator wasip1path_openinterfaces by opening a file withOpenFlags::TRUNCATEoflag only, for example:The root cause is that the clause that considered
OpenFlags::TRUNCATEdid not setopen_mode |= OpenMode::WRITE;, used later in that function for the access control check againstFilePermsfor whether opening that file is permitted. With the bug corrected, these calls toopen-atandpath_openfail witherror-code.not-permittedandERRNO_PERMrespectively.The bug in
crates/wasi/src/filesystem.rs,Dir::open_at, lines 967–969:and the single line fix is:
Only wasmtime-wasi embeddings that use a combination of DirPerms::MUTATE with FilePerms::READ are affected by this bug, e.g. those that use in the
WasiCtxBuilder:In particular, the Wasmtime project's
wasmtime-cli's use of wasmtime-wasi is not affected, because it always setsFilePerms::all()for all preopens.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
WASI path_open(TRUNCATE) bypasses
FilePerms::WRITEhost restrictionCVE-2026-47261 / GHSA-2r75-cxrj-cmph / RUSTSEC-2026-0149
More information
Details
This is an entry in the RustSec database for the Wasmtime security advisory
located at
GHSA-2r75-cxrj-cmph
For more information see the GitHub-hosted security advisory.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
Leak in WASIp1
fd_renumberimplementationCVE-2026-54786 / GHSA-3p27-qvp9-27qf / RUSTSEC-2026-0182
More information
Details
This is an entry in the RustSec database for the Wasmtime security advisory
located at
GHSA-3p27-qvp9-27qf
For more information see the GitHub-hosted security advisory.
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:LReferences
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
WASI hard links and renames bypass wasmtime-wasi's FilePerms for destination
CVE-2026-58494 / GHSA-4ch3-9j33-3pmj / RUSTSEC-2026-0188
More information
Details
This is an entry in the RustSec database for the Wasmtime security advisory
located at
GHSA-4ch3-9j33-3pmj
For more information see the GitHub-hosted security advisory.
Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:NReferences
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
Release Notes
bytecodealliance/wasmtime (wasmtime-wasi)
v45.0.3Compare Source
45.0.3
Released 2026-06-24.
Fixed
GHSA-4ch3-9j33-3pmj
v45.0.2Compare Source
45.0.2
Released 2026-06-15.
Fixed
fd_renumberimplementation.GHSA-3p27-qvp9-27qf
v45.0.1Compare Source
45.0.1
Released 2026-06-05.
Fixed
.ready()to make progress.#13511
v45.0.0Compare Source
45.0.0
Released 2026-05-21.
Added
Winch now respects the
enable_nan_canonicalizationsetting.#12939
Initial support for invoking component functions asynchronously has been added
to the C API.
#12973
Cranelift's s390x backend implements more instructions from z17 and also
implements more CLIF arithmetic overflow instructions.
#12523
#12707
Wasmtime's support for handling OOM in more APIs has expanded and is now
documented as well.
#12993
#12988
#13017
#13047
#13049
#13051
#13074
#13083
#13088
#13224
The
Componenttype now offers reflection APIs over the compiled in-memoryview of instructions in the same manner
Moduledoes.#13073
The
wasmtimeCLI now has ahot-blockssubcommand to explore aperf-recorded output and show hot basic blocks of WebAssembly instructions.#13077
Wasmtime now has an initial implementation of a copying collector for GC,
which notably enables collecting cycles unlike the DRC collector.
#13093
#13107
The WASI
inherit_networkandallow_ip_name_lookupoptions were added tothe C API.
#13145
The C API now has the ability to select
Winchas well as theRegallocAlgorithmin use.#13155
The Wasmtime CLI now has a
-Dmax-backtrace=Nargument to control the numberof frames captured.
#13218
Wasmtime now tracks whether there are any active async tasks within a store
and provides an embedder API to learn when there are none left.
#13246
Cranelift now has an idempotent-store elimination pass.
#13251
Changed
Wasmtime's DRC collector has received some optimizations to get some wins on
local benchmarking.
#12969
#12974
Wasmtime's C API can now be built without the
gccrate feature of Wasmtime.#12805
Wasmtime now has an implemented and improved grow-vs-collect heuristic to
improve behavior of GC-using programs.
#12942
Cranelift on aarch64 now uses a more optimized frame layout for tail-call-only
functions.
#11608
Wasmtime now supports a separate set of GC tunables different from the main
set of tunables for linear memory to enable configuring it separately.
#13080
Wasmtime no longer uses pointer authentication instructions for the
implementation of fibers due to issues on Android.
#13118
Wasmtime now requires Rust 1.93.0 to compile.
#13127
The behavior of using Wasmtime as a CMake subproject has been improved.
#13157
Reference types in the C/C++ API have been refactored and reorganized.
#13154
#13235
The Wasmtime CLI now warns about usage of wasi-common or wasi-threads as these
components are slated for removal in Wasmtime 47.0.0. For more information see
the associated RFC.
#13264
more values are packed into
-Cinlining=....#13250
Fixed
The WASIp1-to-WASIp2 adapter now handles nonblocking I/O in
fd_{read,write}more appropriately.
#13111
The
Hostheader is injected less often for wasmtime-wasi-http.#13138
Downcasts of
funcrefvalues now uses the correct type for importedfunctions.
#13161
The DRC allocator's memory usage during tracing has been reduced when there
are large arrays.
#13192
The performance of reading stdin in WASI has been improved.
#13256
WASI path_open(TRUNCATE) bypasses
FilePerms::WRITEhost restriction.GHSA-2r75-cxrj-cmph
v44.0.3Compare Source
44.0.3
Released 2026-06-15.
Fixed
fd_renumberimplementation.GHSA-3p27-qvp9-27qf
v44.0.2Compare Source
44.0.2
Released 2026-05-21.
Fixed
FilePerms::WRITEhost restriction.GHSA-2r75-cxrj-cmph
v44.0.1Compare Source
44.0.1
Released 2026-04-30.
Fixed
GHSA-p8xm-42r7-89xg
v44.0.0Compare Source
44.0.0
Released 2026-04-20.
Added
The
wasmtimeCLI now supports a-gflag which runs a built-in wasm programto host a
gdbstub-compatible server (can be connected to with LLDB) to debugguest programs.
#12756
#12771
#12856
#12859
Wasmtime now has experimental support for the
map<K, V>type in thecomponent model.
#12216
Wasmtime's C API now supports wasm tag types.
#12763
#12803
Wasmtime's C API now supports exceptions.
#12861
Wasmtime's C API has more support for the GC proposal.
#12914
#12915
#12916
#12917
An initial implementation of the
wasi:tlsproposal for the 0.3.0-draftversion has been added.
#12834
Changed
The
demangleCargo feature of thewasmtimecrate is now compatible withno_stdtargets.#12740
The
wasmtime-wasi-tls-*crates are now merged into one crate with featureflags for each backend.
#12780
Wasmtime now requires Rust 1.92.0 or later to build.
#12828
The
cranelift-codegencrate now compiles forno_stdtargets.#12812
The
csdbinstruction, a defense-in-depth measure for spectre, is no longeremitted by default on aarch64 to match what peer runtimes are doing. In some
situations this is known to provide up to a 6x performance boost on macOS as
well.
#12932
Fixed
Wasmtime's native DWARF has been improved on aarch64 to support recovering
values more frequently.
#12779
A significant number of minor issues have been fixed throughout this release.
In addition to the security advisories found by LLMs there have also
been a large number of other issues identified as well. Many minor fixes are
present in this release for various situations for issues found in this
manner.
v43.0.2Compare Source
43.0.2
Released 2026-04-30.
Fixed
GHSA-p8xm-42r7-89xg
v43.0.1Compare Source
43.0.1
Released 2026-04-09.
Fixed
Miscompiled guest heap access enables sandbox escape on aarch64 Cranelift.
GHSA-jhxm-h53p-jm7w
Wasmtime with Winch compiler backend may allow a sandbox-escaping memory
access.
GHSA-xx5w-cvp6-jv83
Out-of-bounds write or crash when transcoding component model strings.
GHSA-394w-hwhg-8vgm
Host panic when Winch compiler executes
table.fill.GHSA-q49f-xg75-m9xw
Wasmtime segfault or unused out-of-sandbox load with
f64x2.splatoperatoron x86-64.
GHSA-qqfj-4vcm-26hv
Improperly masked return value from
table.growwith Winch compiler backend.GHSA-f984-pcp8-v2p7
Panic when transcoding misaligned utf-16 strings.
GHSA-jxhv-7h78-9775
Panic when lifting
flagscomponent value.GHSA-m758-wjhj-p3jq
Heap OOB read in component model UTF-16 to latin1+utf16 string transcoding.
GHSA-hx6p-xpx3-jvvv
Use-after-free bug after cloning
wasmtime::Linker.GHSA-hfr4-7c6c-48w2
Data leakage between pooling allocator instances.
GHSA-6wgr-89rj-399p
Host data leakage with 64-bit tables and Winch.
GHSA-m9w2-8782-2946
v43.0.0Compare Source
43.0.0
Released 2026-03-20.
Added
Wasmtime now supports the WASIp3 snapshot
0.3.0-rc-2026-03-15.#12557
The number of frames captured in backtrace collection can now be configured.
#12542
Wasmtime now supports fine-grained operator cost configuration for when fuel
is enabled.
#12541
Configuring the
gc_supportoption is now possible through the C API.#12630
Configuring the
concurrency_supportoption is now possible through the CAPI.
#12703
Debugging-related APIs have been added to access all modules and instances on
a store.
#12637
All store entities now expose a "unique ID" for debugging purposes.
#12645
Cranelift's x64 backend now supports the
clsinstruction for all integertypes.
#12644
Changed
Internal refactoring and support necessary for handling OOM gracefully
throughout the runtime is proceeding apace. New APIs such as
FuncType::try_neware available in addition to many internal changes.#12530
#12537
(... and many more ...)
Wasmtime's representation of stack frames in the debugging API no longer
borrows the store itself and is instead represented as a handle.
#12566
Wasmtime now unconditionally sets
SO_REUSEADDRfor guest-bound sockets.#12597
Cranelift now supports more
VRegs which means effectively that largerfunctions will be compilable by default rather than returning a "function too
large" error.
#12611
WASIp3 implementations now limit returned memory by default for randomness and
HTTP headers.
#12745
#12761
Fixed
Running
wasmtime wizerover components with modules that contain an_initializefunction no longer removes the function to preserve the validityof the component.
#12540
Borrow state for host async tasks is now handled more correctly throughout
Wasmtime, especially in the face of cancellation.
#12550
Bindings generation now accounts for the fact that
futureandstreamarenot cloneable types.
#12155
The impementation of UDP in WASIp2 has had some wakeup-related bugs fixed.
#12629
Cancellation of host subtasks for component-model-async has been improved and
works more reliably.
#12640
Subtask management for component-model-async now no longer reparents which
fixes a number spec-related divergences.
#12570
Converting a
wasmtime::Errorintoanyhow::Errorand usingdowncasthasbeen fixed.
#12689
Async stream/future read/write cancellation has had some corner cases fixed.
#12704
Cranelift's timing infrastructure is now more robust in the face of buggy
system clocks.
#12709
The currently running guest task has been corrected in a number of cases
related to component-model-async and cooperative threading.
#12718
#12735
#12736
#12737
An issue of lost wakeups with the WASIp3 stdin implementation has been fixed.
#12745
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
Need help?
You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.