Wasmtime segfault or unused out-of-sandbox load with f64.copysign operator on x86-64
Wasmtime is a runtime for WebAssembly. Starting in version 29.0.0 and prior to version 36.0.5, 40.0.3, and 41.0.1, on x86-64 platforms with AVX, Wasmtime's compilation of the `f64.copysign` WebAssembly instruction with Cranelift may load 8 more bytes than is necessary. When signals-based-traps are disabled this can result in a uncaught segfault due to loading from unmapped guard pages. With guard pages disabled it's possible for out-of-sandbox data to be loaded, but unless there is another bug in Cranelift this data is not visible to WebAssembly guests. Wasmtime 36.0.5, 40.0.3, and 41.0.1 have been released to fix this issue. Users are recommended to upgrade to the patched versions of Wasmtime. Other affected versions are not patched and users should updated to supported major version instead. This bug can be worked around by enabling signals-based-traps. While disabling guard pages can be a quick fix in some situations, it's not recommended to disabled guard pages as it is a key defense-in-depth measure of Wasmtime.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-24116
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 17:43 UTC · Revision 1
Source evidence
Wasmtime segfault or unused out-of-sandbox load with f64.copysign operator on x86-64
core-osv · Original sourcePublished 27 Jan 2026, 18:58 UTC
Wasmtime is a runtime for WebAssembly. Starting in version 29.0.0 and prior to version 36.0.5, 40.0.3, and 41.0.1, on x86-64 platforms with AVX, Wasmtime's compilation of the `f64.copysign` WebAssembly instruction with Cranelift may load 8 more bytes than is necessary. When signals-based-traps are disabled this can result in a uncaught segfault due to loading from unmapped guard pages. With guard pages disabled it's possible for out-of-sandbox data to be loaded, but unless there is another bug in Cranelift this data is not visible to WebAssembly guests. Wasmtime 36.0.5, 40.0.3, and 41.0.1 have been released to fix this issue. Users are recommended to upgrade to the patched versions of Wasmtime. Other affected versions are not patched and users should updated to supported major version instead. This bug can be worked around by enabling signals-based-traps. While disabling guard pages can be a quick fix in some situations, it's not recommended to disabled guard pages as it is a key defense-in-depth measure of Wasmtime.
osv:CVE-2026-24116
Complete source record
{
"id": "32b3eeb438d7cfb29fece59b6bde192949326ce0590cd059d6533c52f6348df4",
"url": "https://osv.dev/vulnerability/CVE-2026-24116",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Wasmtime segfault or unused out-of-sandbox load with f64.copysign operator on x86-64",
"summary": "Wasmtime is a runtime for WebAssembly. Starting in version 29.0.0 and prior to version 36.0.5, 40.0.3, and 41.0.1, on x86-64 platforms with AVX, Wasmtime's compilation of the `f64.copysign` WebAssembly instruction with Cranelift may load 8 more bytes than is necessary. When signals-based-traps are disabled this can result in a uncaught segfault due to loading from unmapped guard pages. With guard pages disabled it's possible for out-of-sandbox data to be loaded, but unless there is another bug in Cranelift this data is not visible to WebAssembly guests. Wasmtime 36.0.5, 40.0.3, and 41.0.1 have been released to fix this issue. Users are recommended to upgrade to the patched versions of Wasmtime. Other affected versions are not patched and users should updated to supported major version instead. This bug can be worked around by enabling signals-based-traps. While disabling guard pages can be a quick fix in some situations, it's not recommended to disabled guard pages as it is a key defense-in-depth measure of Wasmtime.",
"evidence": "osv:CVE-2026-24116",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-24116",
"aliases": [
"CVE-2026-24116",
"GHSA-vc8c-j3xm-xj73",
"RUSTSEC-2026-0006"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/bytecodealliance/wasmtime",
"type": "GIT",
"events": [
{
"introduced": "545407736534daa9cbe3bdb8829ef5744429d5c8"
},
{
"fixed": "06ef14387760e52371fb68d4b30baf22fd576075"
},
{
"introduced": "0807b003ef6250372b57cc083d2df28f8728abee"
},
{
"fixed": "390241fbf9736f3698f07cf0b0add73b752fe66c"
},
{
"introduced": "3dda916921536c2b5233ec98315b6d05c793a34b"
},
{
"fixed": "c30fce86b19b422ff4059bdce136be45a49f1a1f"
},
{
"fixed": "728fa07184f8da2a046f48ef9b61f869dce133a6"
},
{
"fixed": "799585fc362fcb991de147dd1a9f2ba0861ed440"
},
{
"fixed": "ac92d9bb729ad3a6d93f0724c4c33a0c4a9c0227"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"range": [
{
"introduced": "29.0.0"
},
{
"fixed": "36.0.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"range": [
{
"introduced": "40.0.0"
},
{
"fixed": "40.0.3"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*",
"range": [
{
"introduced": "41.0.0"
},
{
"fixed": "41.0.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "728fa07184f8da2a046f48ef9b61f869dce133a6"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "799585fc362fcb991de147dd1a9f2ba0861ed440"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "ac92d9bb729ad3a6d93f0724c4c33a0c4a9c0227"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"= 41.0.0",
"v40.0.2",
"v41.0.0",
"v40.0.1",
"v40.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-24116.json"
}
}
],
"modified": "2026-10-28T02:30:31.002586937Z",
"provider": "osv",
"references": [
"https://docs.rs/wasmtime/latest/wasmtime/struct.Config.html#method.memory_guard_size",
"https://docs.rs/wasmtime/latest/wasmtime/struct.Config.html#method.signals_based_traps",
"https://docs.wasmtime.dev/stability-release.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/24xxx/CVE-2026-24116.json",
"https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-vc8c-j3xm-xj73",
"https://nvd.nist.gov/vuln/detail/CVE-2026-24116",
"https://rustsec.org/advisories/RUSTSEC-2026-0006.html",
"https://github.com/bytecodealliance/wasmtime/commit/728fa07184f8da2a046f48ef9b61f869dce133a6",
"https://github.com/bytecodealliance/wasmtime/commit/799585fc362fcb991de147dd1a9f2ba0861ed440",
"https://github.com/bytecodealliance/wasmtime/commit/ac92d9bb729ad3a6d93f0724c4c33a0c4a9c0227"
],
"provider_metadata": {
"cwe_ids": [
"CWE-125"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/24xxx/CVE-2026-24116.json"
}
},
"related_cves": [
{
"value": "CVE-2026-24116",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497972,
"published_at": "2026-01-27T18:58:52.349+00:00"
}