IPBUF安全漏洞报告
English
CVE-2026-34946 CVSS 7.5 高危

CVE-2026-34946 Wasmtime拒绝服务漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-34946
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Wasmtime

相关标签

拒绝服务DoSWebAssemblyWasmtimeWinch编译器

漏洞概述

Wasmtime是一款WebAssembly运行时。在25.0.0至特定修复版本之前,其Winch编译器在处理table.fill指令时存在漏洞。由于重构导致索引方案错误,攻击者可利用有效的WebAssembly代码触发主机崩溃,造成拒绝服务。

技术细节

该漏洞源于Wasmtime的Winch编译器在编译table.fill指令时的逻辑缺陷。一次历史性的重构修改了编译代码引用table.*指令中表的方式,但未能同步更新Winch的相关代码路径,导致Winch使用了错误的索引方案。攻击者可构造特制的WebAssembly代码,当Winch编译器处理该代码时,会引用不存在的表或混淆表索引。这种错误的内存引用在运行时会触发主机panic(崩溃),导致服务不可用。虽然主要影响是拒绝服务,但也可能导致修改错误的表数据,破坏逻辑完整性。

攻击链分析

STEP 1
构造恶意Wasm代码
攻击者创建包含特定table.fill指令的WebAssembly模块,利用Winch编译器的索引缺陷。
STEP 2
提交代码执行
攻击者将恶意Wasm模块上传至目标服务器,诱导Wasmtime运行时进行加载和编译。
STEP 3
触发编译与运行
Wasmtime使用Winch编译器编译代码时,使用了错误的表索引方案。
STEP 4
主机崩溃
执行过程中引用了不存在的表或错误的表索引,导致宿主机进程panic,服务拒绝。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
(module ;; PoC for Wasmtime Winch table.fill vulnerability ;; This module attempts to fill a table, potentially triggering ;; the indexing bug in the Winch compiler leading to a host panic. (table $0 1 funcref) (func $fill i32.const 0 ;; offset ref.null func ;; value i32.const 1 ;; count table.fill $0 ;; Trigger the vulnerable instruction ) (start $fill) )

影响范围

Wasmtime >= 25.0.0, < 36.0.7
Wasmtime >= 42.0.0, < 42.0.2
Wasmtime >= 43.0.0, < 43.0.1

防御指南

临时缓解措施
建议立即升级到修复版本。如果无法立即升级,应禁用Winch编译器或严格限制不受信任的Wasm代码的执行,以防止主机崩溃。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表