| 概要 | 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:*:*:*:*:*:*:* | |||||
| タイトル | 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 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2022年07月04日] 掲載 | 2022年7月4日10:15 |