CVE-2021-39219
概要

Wasmtime is an open source runtime for WebAssembly & WASI. Wasmtime before version 0.30.0 is affected by a type confusion vulnerability. As a Rust library the `wasmtime` crate clearly marks which functions are safe and which are `unsafe`, guaranteeing that if consumers never use `unsafe` then it should not be possible to have memory unsafety issues in their embeddings of Wasmtime. An issue was discovered in the safe API of `Linker::func_*` APIs. These APIs were previously not sound when one `Engine` was used to create the `Linker` and then a different `Engine` was used to create a `Store` and then the `Linker` was used to instantiate a module into that `Store`. Cross-`Engine` usage of functions is not supported in Wasmtime and this can result in type confusion of function pointers, resulting in being able to safely call a function with the wrong type. Triggering this bug requires using at least two `Engine` values in an embedding and then additionally using two different values with a `Linker` (one at the creation time of the `Linker` and another when instantiating a module with the `Linker`). It's expected that usage of more-than-one `Engine` in an embedding is relatively rare since an `Engine` is intended to be a globally shared resource, so the expectation is that the impact of this issue is relatively small. The fix implemented is to change this behavior to `panic!()` in Rust instead of silently allowing it. Using different `Engine` instances with a `Linker` is a programmer bug that `wasmtime` catches at runtime. This bug has been patched and users should upgrade to Wasmtime version 0.30.0. If you cannot upgrade Wasmtime and are using more than one `Engine` in your embedding it's recommended to instead use only one `Engine` for the entire program if possible. An `Engine` is designed to be a globally shared resource that is suitable to have only one for the lifetime of an entire process. If using multiple `Engine`s is required then code should be audited to ensure that `Linker` is only used with one `Engine`.

公表日 2021年9月18日5:15
登録日 2021年9月18日10:00
最終更新日 2024年11月21日15:18
CVSS3.1 : MEDIUM
スコア 6.3
ベクター CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H
攻撃元区分(AV) ローカル
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR)
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C) なし
完全性への影響(I)
可用性への影響(A)
CVSS2.0 : LOW
スコア 3.3
ベクター AV:L/AC:M/Au:N/C:N/I:P/A:P
攻撃元区分(AV) ローカル
攻撃条件の複雑さ(AC)
攻撃前の認証要否(Au) 不要
機密性への影響(C) なし
完全性への影響(I)
可用性への影響(A)
全ての特権を取得 いいえ
ユーザー権限を取得 いいえ
その他の権限を取得 いいえ
ユーザー操作が必要 いいえ
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:*:*:* 0.30.0
構成2 以上 以下 より上 未満
cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧

JVN脆弱性情報
Wasmtime における型の取り違えに関する脆弱性
タイトル Wasmtime における型の取り違えに関する脆弱性
概要

Wasmtime には、型の取り違えに関する脆弱性が存在します。

想定される影響 情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。
対策

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

公表日 2021年9月17日0:00
登録日 2022年8月5日15:50
最終更新日 2022年8月5日15:50
影響を受けるシステム
Bytecode Alliance
wasmtime 0.30.0 未満
Fedora Project
Fedora 
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2022年07月04日]   掲載 2022年7月4日10:15