Bytecode Allianceのwasmtimeにおける境界外読み取りに関する脆弱性
タイトル Bytecode Allianceのwasmtimeにおける境界外読み取りに関する脆弱性
概要

WasmtimeはWebAssemblyのランタイムです。バージョン24.0.7、36.0.7、42.0.2、および43.0.1以前には、UTF-16文字列をlatin1+utf16コンポーネントモデルエンコーディングにトランスコーディングする際に、境界チェックの入力文字列のバイト長を誤って検証する脆弱性が存在しました。具体的には、コード単位の数がチェックされていましたが、実際のバイト長はコード単位の2倍であるため誤りです。この脆弱性により、ホストがWebAssemblyのリニアメモリの末尾を超えて読み取ろうとし、存在しないバイトをトランスコードしようとする可能性があります。Wasmtimeのデフォルト設定では、ガードページ上の未マップメモリを読み取る際にセグメンテーションフォルトが発生し、プロセスが終了します。しかし、ガードページなしで設定された場合には、リニアメモリの末尾を超えたホストメモリが読み取られ、UTF-16として解釈される可能性があります。ホストのセグメンテーションフォルトはWasmtimeにおけるサービス拒否の脆弱性であり、さらにリニアメモリの末尾を超えて読み取りが可能であることも脆弱性です。リニアメモリ末尾の超過読み取りを引き起こすには、ガードページが無効化された非標準の設定が必要です。この脆弱性はバージョン24.0.7、36.0.7、42.0.2、および43.0.1で修正されました。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月9日0:00
登録日 2026年4月21日10:47
最終更新日 2026年4月21日10:47
CVSS3.0 : 重要
スコア 8.1
ベクター CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
影響を受けるシステム
Bytecode Alliance
wasmtime 24.0.7 未満
wasmtime 25.0.0 以上 36.0.7 未満
wasmtime 37.0.0 以上 42.0.2 未満
wasmtime 43.0.0 以上 43.0.1 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年04月21日]
  掲載
2026年4月21日10:47

NVD脆弱性情報
CVE-2026-34941
概要

Wasmtime is a runtime for WebAssembly. Prior to 24.0.7, 36.0.7, 42.0.2, and 43.0.1, Wasmtime contains a vulnerability where when transcoding a UTF-16 string to the latin1+utf16 component-model encoding it would incorrectly validate the byte length of the input string when performing a bounds check. Specifically the number of code units were checked instead of the byte length, which is twice the size of the code units. This vulnerability can cause the host to read beyond the end of a WebAssembly's linear memory in an attempt to transcode nonexistent bytes. In Wasmtime's default configuration this will read unmapped memory on a guard page, terminating the process with a segfault. Wasmtime can be configured, however, without guard pages which would mean that host memory beyond the end of linear memory may be read and interpreted as UTF-16. A host segfault is a denial-of-service vulnerability in Wasmtime, and possibly being able to read beyond the end of linear memory is additionally a vulnerability. Note that reading beyond the end of linear memory requires nonstandard configuration of Wasmtime, specifically with guard pages disabled. This vulnerability is fixed in 24.0.7, 36.0.7, 42.0.2, and 43.0.1.

公表日 2026年4月10日4:16
登録日 2026年4月15日11:34
最終更新日 2026年4月21日3:28
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* 24.0.7
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* 25.0.0 36.0.7
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* 37.0.0 42.0.2
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:* 43.0.0 43.0.1
関連情報、対策とツール
共通脆弱性一覧