CVSS 9.9 CRITICAL

Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction

Mã khác
GHSA-mghf-wjfp-p5xm
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory, OSV.dev

Mô tả

Summary

When running with the Cranelift compiler backend on an aarch64 target, Wasmtime can compile a Wasm module with more than ~256k targets on one br_table instruction in a way that results in an incorrect conditional branch target. This conditional branch could then jump to arbitrary other code (at an user-controlled offset), leading to arbitrary sandbox escapes.

Impact

Any Wasmtime engine running on aarch64 with default settings can be forced to jump to arbitrary code by a user-controlled Wasm module. All versions of Wasmtime/Cranelift that support aarch64, since the initial release of that support in 2020 (before Wasmtime v1.0), are affected.

Patches

Wasmtime v36.0.19, v48.0.7, and v49.0.4 have been released which all fix 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.99%
CWE
CWE-691

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, < 48.0.7 48.0.7
rust wasmtime >= 49.0.0, < 49.0.4 49.0.4

Vì sao được giữ

  • CVSS 9.9 >= 8.0

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Dữ liệu riêng của nguồn

OSV.dev · ID
GHSA-mghf-wjfp-p5xm

Tham khảo