【活用ガイド】

JVNDB-2026-005167

Bytecode Allianceのwasmtimeにおける例外的な状態の処理に関する脆弱性

概要

WasmtimeはWebAssemblyのランタイムです。Wasmtime 39.0.0以降、`component-model-async`機能がデフォルトとなり、新たに`[Typed]Func::call_async`の実装が導入され、非同期型のゲストエクスポート関数を呼び出せるようになりました。しかし、その実装には特定の状況下でパニックを引き起こすバグが存在しました。まず、ホストの埋め込みでコンポーネントがエクスポートする関数に対して`[Typed]Func::call_async`を呼び出し、返された`Future`を一度ポーリングします。次に、コンポーネント関数が非同期ランタイム(例えばTokio)に制御を渡します。これは`LinkerInstance::func_wrap_async`で登録されたホスト関数の呼び出しで処理が一時停止した場合や、エポック割り込みによる場合があります。三番目に、ホストの埋め込みが一度ポーリングした後に`Future`を破棄します。これにより、呼び出しが完了せずコンポーネントインスタンスは再入不可な状態になります。四番目に、ホストの埋め込みが再び同じコンポーネントインスタンスに対して`[Typed]Func::call_async`を呼び出し、返された`Future`をポーリングします。この時点でコンポーネントインスタンスに入れないため呼び出しはトラップしますが、呼び出しのためのタスクとスレッドの割り当ては行われます。五番目に、ホストの埋め込みがトラップを無視して`Future`を破棄します。これにより、スレッドが終了していないためにタスクを破棄しようとしてランタイムがパニックを起こします。影響を受けるWasmtimeのバージョンでホストの埋め込みがゲストエクスポートに対し`wasmtime::component::[Typed]Func::call_async`を呼び出し、その`Future`を解決を待たずに破棄し、同じコンポーネントインスタンスで再度これを行うとWasmtimeはパニックを起こします。`component-model-async`のコンパイル時機能を無効にしている埋め込みは影響を受けません。Wasmtime 40.0.4および41.0.4でこの問題は修正されており、バージョン42.0.0以降は影響を受けません。もし埋め込みで実際に`component-model-async`機能を使用していなければ、Cargoの`component-model-async`機能を無効化することでこの問題を回避可能です。また、この問題は全ての`call_async`の`Future`を完了まで待つか、未解決の`call_async`の`Future`を破棄した後に同じ`Store`を再利用しなければ回避できます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Bytecode Alliance
  • wasmtime 39.0.0 以上 40.0.4 未満
  • wasmtime 41.0.0 以上 41.0.4 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

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

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 例外的な状態における不適切な処理(CWE-755) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-27195
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-27195
  2. 関連文書 : [40.0.x] Backport fixes for security advisories (#12649)  bytecodealliance/wasmtime@9e51c0d  GitHub
  3. 関連文書 : Release v41.0.4: Release Wasmtime 41.0.4 (#12654)  bytecodealliance/wasmtime  GitHub
  4. 関連文書 : [41.0.x] Backport fixes for security advisories (#12650)  bytecodealliance/wasmtime@d86b007  GitHub
  5. 関連文書 : Release v40.0.4: Release Wasmtime 40.0.4 (#12655)  bytecodealliance/wasmtime  GitHub
  6. 関連文書 : #general >  Panic in Wasmtime 41.0.3 (runtime/concurrent/component) - Bytecode Alliance - Zulip
更新履歴

  • [2026年02月27日]
      掲載