CVE-2026-115893
Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction
Critical 9.9
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.
Assigner
GitHub_M
GitHub_M
Published
2026-10-23
2026-10-23
Updated
2026-10-23
2026-10-23
Reserved
2026-10-23
2026-10-23
Scores
| Source | CVSS | Score | Severity | Vector |
|---|---|---|---|---|
| GitHub_M | 3.1 | 9.9 | Critical | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Weaknesses
Affected
| Vendor | Product | Versions |
|---|---|---|
| bytecodealliance | wasmtime | < 36.0.19 (affected) >= 37.0.0, < 48.0.7 (affected) >= 49.0.0, < 49.0.4 (affected) |
References
- https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-mghf-wjfp-p5xm x_refsource_CONFIRM
- https://github.com/bytecodealliance/wasmtime/pull/14818 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14819 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14820 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14826 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/e61df1b454be9313d61a5f8de07722a421139bbe x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/f517bd6e890c7c1291ab9fe05d8cc0c9f11e56aa x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.19 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4 x_refsource_MISC
Full CVE JSON record (5.2)
{
"containers": {
"cna": {
"affected": [
{
"product": "wasmtime",
"vendor": "bytecodealliance",
"versions": [
{
"status": "affected",
"version": "\u003c 36.0.19"
},
{
"status": "affected",
"version": "\u003e= 37.0.0, \u003c 48.0.7"
},
{
"status": "affected",
"version": "\u003e= 49.0.0, \u003c 49.0.4"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.9,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-691",
"description": "CWE-691: Insufficient Control Flow Management",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T21:29:33.917Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-mghf-wjfp-p5xm",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-mghf-wjfp-p5xm"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/pull/14818",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/pull/14818"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/pull/14819",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/pull/14819"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/pull/14820",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/pull/14820"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/pull/14826",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/pull/14826"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/commit/e61df1b454be9313d61a5f8de07722a421139bbe",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/commit/e61df1b454be9313d61a5f8de07722a421139bbe"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/commit/f517bd6e890c7c1291ab9fe05d8cc0c9f11e56aa",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/commit/f517bd6e890c7c1291ab9fe05d8cc0c9f11e56aa"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.19",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.19"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7"
},
{
"name": "https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4"
}
],
"source": {
"advisory": "GHSA-mghf-wjfp-p5xm",
"discovery": "UNKNOWN"
},
"title": "Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-115893",
"datePublished": "2026-10-23T21:29:33.917Z",
"dateReserved": "2026-10-23T19:37:27.177Z",
"dateUpdated": "2026-10-23T21:29:33.917Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}