CVE-2026-115893 json
Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction
published 21d ago modified 11d ago also EUVD-2026-109188 , GHSA-mghf-wjfp-p5xm , RUSTSEC-2026-0379
- cvss
- 9.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 62%
- public exploits
- 0
- none known
Summary
Wasmtime is a runtime for WebAssembly. Prior to 36.0.19, 48.0.7, and 49.0.4, the Cranelift compiler backend on aarch64 can compile a Wasm br_table instruction with more than approximately 256,000 targets so that it has an incorrect conditional branch target. The branch can then jump to arbitrary other code at a user-controlled offset, allowing a user-controlled Wasm module to escape the sandbox on aarch64 engines using the default Cranelift backend. This issue is fixed in versions 36.0.19, 48.0.7, and 49.0.4.
Patch / fix
- crates.io wasmtime 36.0.19, 48.0.7, 49.0.4
- bytecodealliance wasmtime 36.0.19, 48.0.7, 49.0.4
- rust-wasmtime Debian 14 36.0.20+dfsg-1
debian advisories DEBIAN-CVE-2026-115893
- rust Azure Linux 3.0 1.75.0-31
- rust Azure Linux 3.0 1.98.1-1
azure linux advisories AZL-111428AZL-111434
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/bytecodealliance/wasmtime@222ff3a commit
- github.com/bytecodealliance/wasmtime@9945498 commit
- github.com/bytecodealliance/wasmtime@e61df1b commit
- github.com/bytecodealliance/wasmtime@f517bd6 commit
- github.com/bytecodealliance/wasmtime#14818 pull request
- github.com/bytecodealliance/wasmtime#14819 pull request
- github.com/bytecodealliance/wasmtime#14820 pull request
- github.com/bytecodealliance/wasmtime#14826 pull request
- github.com/bytecodealliance/wasmtime/releases/tag/v36.0.19 release
- github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7 release
Is CVE-2026-115893 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-115893 updated cvss 8.8
wasmtime: Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction
-
Red Hat Connectivity Link 1 rhcl-1/wasm-shim-rhel9 Red Hat Enterprise Linux 10 tree-sitteraffected: workaround, no fix available
-
Red Hat Enterprise Linux 10 virt-firmware-rsnot affected: vulnerable code 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
- total
- Assessed
- 11d ago
Exploit prediction
0.99% chance of exploitation in the next 30 days, higher than 62% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| OSV | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | wasmtime | <36.0.19 >=37.0.0, <48.0.7 >=49.0.0, <49.0.4 >=0.0.0-0, <36.0.19 |
36.0.19 48.0.7 49.0.4 |
Affected products
- bytecodealliance wasmtime
Classification
- Weakness
-
- CWE-691 Insufficient Control Flow Management
References
-
github.com
/bytecodealliance/wasmtime/pull/14818
web
-
github.com
/bytecodealliance/wasmtime/pull/14819
web
-
github.com
/bytecodealliance/wasmtime/pull/14820
web
-
github.com
/bytecodealliance/wasmtime/pull/14826
web
-
github.com
/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd
web
-
github.com
/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618
web
-
github.com
/bytecodealliance/wasmtime/commit/e61df1b454be9313d61a5f8de07722a421139bbe
web
-
github.com
/bytecodealliance/wasmtime/commit/f517bd6e890c7c1291ab9fe05d8cc0c9f11e56aa
web
-
github.com
/bytecodealliance/wasmtime/security/advisories/GHSA-mghf-wjfp-p5xm
web
-
github.com
/bytecodealliance/wasmtime/releases/tag/v36.0.19
web
-
github.com
/bytecodealliance/wasmtime/releases/tag/v48.0.7
web
-
github.com
/bytecodealliance/wasmtime/releases/tag/v49.0.4
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-115893
advisory
-
github.com
/bytecodealliance/wasmtime
package
-
rustsec.org
/advisories/RUSTSEC-2026-0379.html
web, advisory
-
crates.io
/crates/wasmtime
package
Sources
- CVE List CVE-2026-115893
- GitHub Advisory GHSA-mghf-wjfp-p5xm
- NVD CVE-2026-115893
- OSV RUSTSEC-2026-0379
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.