High severity · published Jul 21, 2022
CVE-2022-31146
Wasmtime is a standalone runtime for WebAssembly
8.8
CVSS
1.2%
EPSS
No
On KEV
Description
Wasmtime is a standalone runtime for WebAssembly. There is a bug in the Wasmtime's code generator, Cranelift, where functions using reference types may be incorrectly missing metadata required for runtime garbage collection. This means that if a GC happens at runtime then the GC pass will mistakenly think these functions do not have live references to GC'd values, reclaiming them and deallocating them. The function will then subsequently continue to use the values assuming they had not been GC'd, leading later to a use-after-free. This bug was introduced in the migration to the `regalloc2` register allocator that occurred in the Wasmtime 0.37.0 release on 2022-05-20. This bug has been patched and users should upgrade to Wasmtime version 0.38.2. Mitigations for this issue can be achieved by disabling the reference types proposal by passing `false` to `wasmtime::Config::wasm_reference_types` or downgrading to Wasmtime 0.36.0 or prior.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)1.2% · higher than 69% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CR
Cranelift-codegen · Bytecodealliance
0.84.0 before 0.85.2 · source: NVD
WA
Wasmtime · Bytecodealliance
0.37.0 before 0.38.2 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2022-31146
CVE.org
https://www.cve.org/CVERecord?id=CVE-2022-31146
Third Party Advisory
https://github.com/WebAssembly/reference-types
Product
https://github.com/bytecodealliance/wasmtime/
Mitigation
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-5fhj-g3p3-pq9g
More from Cranelift-codegen
9.9
CVE-2023-26489
wasmtime is a fast and secure runtime for WebAssembly
8.8
CVE-2021-32629
Cranelift is an open-source code generator maintained by Bytecode Alliance
7.5
CVE-2022-31169
Wasmtime is a standalone runtime for WebAssembly
5.6
CVE-2022-31104
Wasmtime is a standalone runtime for WebAssembly
4.3
CVE-2023-27477
wasmtime is a fast and secure runtime for WebAssembly
