Guest misexecution via SIMD instruction miscompilation
Published Jun 27, 2022 · Updated Apr 23, 2025
Incorrect calculation in Bytecode Alliance Wasmtime before 0.38.1 allows attackers to trigger SIMD instruction miscompilation on x86_64 hosts. Cranelift overwrites the i8x16.swizzle mask register, while v128 select with a zero condition moves only 32 bits and leaves the upper 96 bits stale. Reachability requires SIMD-enabled guest code on an x86_64 host; the resulting wrong values or branches affect the guest program, not the host sandbox.
Summary
What happened
Incorrect calculation in Bytecode Alliance Wasmtime before 0.38.1 allows attackers to trigger SIMD instruction miscompilation on x86_64 hosts. Cranelift overwrites the i8x16.swizzle mask register, while v128 select with a zero condition moves only 32 bits and leaves the upper 96 bits stale. Reachability requires SIMD-enabled guest code on an x86_64 host; the resulting wrong values or branches affect the guest program, not the host sandbox.
The record
- CVE
- CVE-2022-31104
- Published
- Jun 27, 2022
- Updated
- Apr 23, 2025
- Vendor
- Bytecode Alliance
- Product
- Wasmtime
- Classifications
- CWE-682
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Jun 27, 2022CVE publishedPublication date reported by the CVE source.
- Apr 23, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=cranelift-codegen: < 0.85.0
- Affected versionversion=wasmtime: < 0.38.1
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Incorrect execution of openjph compiled file with SIMDproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo