返回列表

Wasmtime: aarch64 Cranelift 编译错误导致沙箱逃逸

CVE-2026-34971RCE2026-04-09

影响软件

Wasmtime

CWE

CWE-125, CWE-787

CVSS

CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (Score: 9.0)

受影响版本

rust:wasmtime >= 32.0.0, < 36.0.7; rust:wasmtime >= 37.0.0, < 42.0.2; rust:wasmtime 43.0.0

修复版本

36.0.7, 42.0.2, 43.0.1

关联产品

漏洞描述

### 漏洞概述 Wasmtime 的 Cranelift 编译后端在 aarch64 架构上存在编译错误。在处理特定形状的堆访问(如 `load(iadd(base, ishl(index, amt)))`)时,由于 `amt` 常量的掩码处理不当,导致指令选择阶段的模式匹配错误,从而偏离了 WebAssembly 和 Cranelift 的语义。这会导致计算出的加载地址与边界检查时使用的地址不一致。 ### 影响范围 - **受影响架构**:仅限 aarch64。 - **受影响内存模型**:仅限 64 位 WebAssembly 线性内存(即启用了 `Config::wasm_memory64` 的情况)。32 位 WebAssembly 不受影响。 - **受影响配置**:必须禁用 Spectre 缓解措施或基于信号的陷阱(signals-based-traps)。如果启用了 Spectre 缓解措施(默认开启),则不受影响。 ### 利用条件 1. 运行在 aarch64 架构上。 2. 使用 64 位 WebAssembly 线性内存。 3. 禁用了 Spectre 缓解措施或基于信号的陷阱。 ### 修复建议 建议用户升级至以下已修复的版本: - Wasmtime 36.0.7 - Wasmtime 42.0.2 - Wasmtime 43.0.1 ### 参考链接 - https://github.com/advisories/GHSA-jhxm-h53p-jm7w

查看原文

当前页面内容可能涉及 AI 翻译、补全或规范化处理,请结合原始来源核对关键信息。