CVE-2026-104855 json
Wasmtime: Preemption and traps during bulk operations enable breaking internal VM state
published 3mo ago modified 28d ago also EUVD-2026-91765 , GHSA-2hw9-mc66-jc2q , RUSTSEC-2026-0223
- cvss
- 2.0
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
Wasmtime is a runtime for WebAssembly. From 46.0.0 until 46.0.2 and 47.0.3, fuel and epoch preemption checks inside bulk operations including memory.copy, table.grow, and array.copy can expose invalid intermediate state when an embedder mutates a Store in Store::epoch_deadline_callback or continues using a Store after cancellation or a trap. A cancelled non-nullable table growth can leave null elements, linear-memory growth during memory.copy can invalidate retained raw pointers, and callback-triggered garbage collection during array.copy can invalidate GC pointers, resulting in a crash, invalid memory access, or GC heap corruption. Embeddings whose callbacks only access the host data in Store<T>, and embeddings that discard a Store after timeout or epoch deadline, are not affected. This issue is fixed in versions 46.0.2 and 47.0.3.
Patch / fix
- crates.io wasmtime 46.0.2, 47.0.3
- bytecodealliance wasmtime 46.0.2, 47.0.3
- github.com/bytecodealliance/wasmtime@3ebfbe5 commit
- github.com/bytecodealliance/wasmtime@99b0bc3 commit
- github.com/bytecodealliance/wasmtime@a3eb27a commit
- github.com/bytecodealliance/wasmtime#14041 pull request
- github.com/bytecodealliance/wasmtime#14043 pull request
- github.com/bytecodealliance/wasmtime#14045 pull request
- github.com/bytecodealliance/wasmtime/releases/tag/v46.0.2 release
- github.com/bytecodealliance/wasmtime/releases/tag/v47.0.3 release
Is CVE-2026-104855 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-104855 updated cvss 4.7
wasmtime: wasmtime: Memory corruption via preemption checks during bulk operations
-
Red Hat Connectivity Link 1 rhcl-1/wasm-shim-rhel9 Red Hat Enterprise Linux 10 tree-sitter 0.23.0-3.el10, virt-firmware-rs 26.4-1.el10affected: workaround, no fix available “Fix deferred”
-
Red Hat Hardened Images rust 1.98.1-1.hum1, openshell 0.1.2-0.2.hum1not affected: component not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.0 | CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 2.0 | CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | wasmtime | >=46.0.0, <46.0.2 >=47.0.0, <47.0.3 |
46.0.2 47.0.3 |
Affected products
- bytecodealliance wasmtime
Classification
- Weakness
-
- CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization
References
-
github.com
/bytecodealliance/wasmtime/pull/14041
web
-
github.com
/bytecodealliance/wasmtime/pull/14043
web
-
github.com
/bytecodealliance/wasmtime/pull/14045
web
-
github.com
/bytecodealliance/wasmtime/commit/3ebfbe5af4927c157d6fcaca42b8dbb6d17b73fb
web
-
github.com
/bytecodealliance/wasmtime/commit/99b0bc39d447317a4102c056081c83a9a84a46e0
web
-
github.com
/bytecodealliance/wasmtime/commit/a3eb27af01ba5a30320a90ea1405059cdfedd353
web
-
github.com
/bytecodealliance/wasmtime/security/advisories/GHSA-2hw9-mc66-jc2q
web
-
github.com
/bytecodealliance/wasmtime/releases/tag/v46.0.2
web
-
github.com
/bytecodealliance/wasmtime/releases/tag/v47.0.3
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-104855
advisory
-
github.com
/bytecodealliance/wasmtime
package
-
rustsec.org
/advisories/RUSTSEC-2026-0223.html
web, advisory
-
crates.io
/crates/wasmtime
package
Sources
- CVE List CVE-2026-104855
- GitHub Advisory GHSA-2hw9-mc66-jc2q
- NVD CVE-2026-104855
- OSV RUSTSEC-2026-0223
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.