Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. wasmtime
  4. ›
  5. CVE-2022-31169

CVE-2022-31169: Cranelift vulnerable to miscompilation of constant values in division on AArch64

July 21, 2022 (updated May 2, 2025)

There was a bug in Wasmtime’s code generator, Cranelift, for AArch64 targets where constant divisors could result in incorrect division results at runtime. The translation rules for constants did not take into account whether sign- or zero-extension should happen, which resulted in an incorrect value being placed into a register when a division was encountered. For example, a constant 32-bit unsigned divisor of 0xfffffffe would be incorrectly sign-extended to 64-bits to 0xfffffffffffffffe. Any kind of division of operands smaller than 64 bits is implemented with a 64-bit division instruction which would then result in an incorrect result because the divisor was larger than expected.

The impact of this bug is that programs executing within the WebAssembly sandbox would not behave according to the WebAssembly specification. This means that it is hypothetically possible for execution within the sandbox to go awry and WebAssembly programs could produce unexpected results. This should not impact hosts executing WebAssembly, but does affect the correctness of guest programs.

This bug was found with differential fuzzing of Wasmtime against other engines on the AArch64 platform. Fuzzing on AArch64 is not regularly performed at this time and the Wasmtime team is investigating how best to continuously fuzz AArch64 in the same manner as x86_64.

References

  • github.com/advisories/GHSA-7f6x-jwh5-m9r4
  • github.com/bytecodealliance/wasmtime
  • github.com/bytecodealliance/wasmtime/commit/2ba4bce5cc719e5a74e571a534424614e62ecc41
  • github.com/bytecodealliance/wasmtime/security/advisories/GHSA-7f6x-jwh5-m9r4
  • nvd.nist.gov/vuln/detail/CVE-2022-31169
  • rustsec.org/advisories/RUSTSEC-2022-0101.html

Code Behaviors & Features

Detect and mitigate CVE-2022-31169 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 0.38.2

Fixed versions

  • 0.38.2

Solution

Upgrade to version 0.38.2 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-682: Incorrect Calculation

Source file

cargo/wasmtime/CVE-2022-31169.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:15:05 +0000.