# CVE-2022-31104: RUSTSEC-2022-0095 - Miscompilation of `i8x16.swizzle` and `select` with v128 inputs

Source: https://junglewise.ai/threats/cve-2022-31104-miscompilation-of-i8x16-swizzle-and-select-with-v128-inputs  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2022-06-27  
License: CC BY 4.0 with a link back

CVE-2022-31104 · Severity: low · CVSS 3.1 · Published 2022-06-27

Miscompilation of `i8x16.swizzle` and `select` with v128 inputs

Technologies: [cranelift-codegen (crates.io)](https://junglewise.ai/threats/technologies/cranelift-codegen), [wasmtime (crates.io)](https://junglewise.ai/threats/technologies/wasmtime). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io).

## Quick answers

**Is CVE-2022-31104 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2022-31104 being exploited in the wild.

**How severe is CVE-2022-31104?** Low severity, with a CVSS score of 3.1, published 27 June 2022.

**Which products and versions are affected?** cranelift-codegen (crates.io) SEMVER:introduced=0,fixed=0.85.1; wasmtime (crates.io) SEMVER:introduced=0,fixed=0.38.1, SEMVER:introduced=0.0.0-0,fixed=0.38.1.

**Is there a fix for CVE-2022-31104?** Yes. cranelift-codegen (crates.io): upgrade to 0.85.1 or later; wasmtime (crates.io): upgrade to 0.38.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2022-31104?** Check whether you run cranelift-codegen (crates.io) or wasmtime (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- cranelift-codegen (crates.io): upgrade to 0.85.1 or later

  ```sh
  cargo update -p cranelift-codegen
  ```

- wasmtime (crates.io): upgrade to 0.38.1 or later

  ```sh
  cargo update -p wasmtime
  ```


## Affected products

- cranelift-codegen (crates.io) SEMVER:introduced=0,fixed=0.85.1
- wasmtime (crates.io) SEMVER:introduced=0,fixed=0.38.1, SEMVER:introduced=0.0.0-0,fixed=0.38.1

## Identifiers

- CVE-2022-31104
- GHSA-jqwc-c49r-4w2x
- RUSTSEC-2022-0095

## Related threats

- [RUSTSEC-2026-0422 - Typed functions with `i31` or `nullref` arguments may panic due to insufficient type-check](https://junglewise.ai/threats/rustsec-2026-0422-typed-functions-with-i31-or-nullref-arguments-may-0545dc2b)
- [Wasmtime type confusion with host-created struct types](https://junglewise.ai/threats/rustsec-2026-0423-cross-engine-type-confusion-with-host-created-struct-89fe3f0e)
- [Wasmtime unchecked memory usage in borrowed resource transfer](https://junglewise.ai/threats/rustsec-2026-0424-unchecked-memory-usage-in-transferring-borrowed-b297503c)
- [Wasmtime Cranelift aarch64 br_table sandbox escape](https://junglewise.ai/threats/cve-2026-115893-wasmtime-is-a-runtime-for-webassembly-prior-to-36-0-19-48-0-7)
- [Wasmtime component-model type-check bypass in stream/future lowering](https://junglewise.ai/threats/cve-2026-115892-wasmtime-is-a-runtime-for-webassembly-from-46-0-0-until-48-0-7)
