CVE-2026-44216Wasmtime是一款WebAssembly运行时。在30.0.0至36.0.8等多个版本中,其WebAssembly表的分配逻辑存在算术运算溢出漏洞。利用WebAssembly memory64提案支持的64位大尺寸表,攻击者可构造恶意模块,在实例化时触发整数溢出并导致运行时panic。该漏洞无需用户交互即可通过网络远程触发,严重影响了服务的可用性。
该漏洞源于Wasmtime在处理WebAssembly表分配时的边界检查逻辑缺陷。在受影响版本中,分配逻辑包含用于防止溢出的算术检查,但在特定条件下未能正确处理。当开启WebAssembly memory64提案时,表的大小范围从传统的32位扩展到了64位,允许分配极大的内存区域。攻击者可以构造一个恶意的WebAssembly模块或组件,其中包含一个利用64位地址空间的超大尺寸表定义。当Wasmtime尝试实例化该模块并执行内存分配操作时,计算表大小的算术操作会发生整数溢出。尽管代码中存在检查机制,但这种溢出绕过了预期的保护逻辑,直接触发了运行时的panic(恐慌)状态,导致Wasmtime进程意外崩溃。由于该漏洞不需要特权或用户交互,任何能够向Wasmtime服务提交恶意WASM代码的攻击者都可以利用此漏洞发起拒绝服务攻击,中断业务运行。