CVSS 9.9 CRITICAL RCE

Wasmtime: Bit-packing in Cranelift compiler causes silent overflow and miscompilation

Mã khác
GHSA-897f-g5gm-fmxm
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory

Mô tả

Summary

In Wasmtime prior to v43, the Cranelift compiler backend bit-packs its SSA value indices in a way that can result in silent overflow in release builds, and result in incorrect value references in the IR resulting in arbitrary miscompilation. A very large Wasm function body, or one that is specially crafted to use many SSA values, can use this to force type-confusion or other arbitrary side-effects and escape the sandbox.

Cranelift was changed in Wasmtime v43 to use a full u32 index, with checks if that limit is exceeded, and so is no longer susceptible to this bug.

Impact

A Wasmtime engine with default settings (using the Cranelift backend) on any architecture/platform could experience a sandbox escape from a specially-crafted Wasm module.

Patches

Wasmtime v36.0.19 has been released which fixes this issue.

Điểm và phân loại

CVSS
9.9 CRITICAL v3.1
Nguồn điểm
GitHub Advisory
Mức độ (theo nguồn)
CRITICAL
EPSS
0.45%

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

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
rust wasmtime < 36.0.19 36.0.19
rust wasmtime >= 37.0.0, < 43.0.0 43.0.0

Vì sao được giữ

  • CVSS 9.9 >= 8.0

Loại tác động

RCE
CWE-843 + AV:N/I:H

Tham khảo