CVE-2021-39219
| Summary |
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`.
|
| Publication Date |
Sept. 18, 2021, 5:15 a.m. |
| Registration Date |
Sept. 18, 2021, 10 a.m. |
| Last Update |
Nov. 21, 2024, 3:18 p.m. |
|
CVSS3.1 : MEDIUM
|
| スコア |
6.3
|
| Vector |
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
|
| Score |
3.3
|
| Vector |
AV:L/AC:M/Au:N/C:N/I:P/A:P |
| 攻撃元区分(AV) |
ローカル |
| 攻撃条件の複雑さ(AC) |
中 |
| 攻撃前の認証要否(Au) |
不要 |
| 機密性への影響(C) |
なし |
| 完全性への影響(I) |
低 |
| 可用性への影響(A) |
低 |
| Get all privileges. |
いいえ
|
| Get user privileges |
いいえ
|
| Get other privileges |
いいえ
|
| User operation required |
いいえ
|
Affected software configurations
| Configuration1 |
or higher |
or less |
more than |
less than |
| cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:*:*:* |
|
|
|
0.30.0 |
| Configuration2 |
or higher |
or less |
more than |
less than |
| cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:* |
|
|
|
|
| cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:* |
|
|
|
|
Related information, measures and tools
Common Vulnerabilities List
JVN Vulnerability Information
Wasmtime における型の取り違えに関する脆弱性
| Title |
Wasmtime における型の取り違えに関する脆弱性
|
| Summary |
Wasmtime には、型の取り違えに関する脆弱性が存在します。
|
| Possible impacts |
情報を改ざんされる、およびサービス運用妨害 (DoS) 状態にされる可能性があります。 |
| Solution |
ベンダより正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date |
Sept. 17, 2021, midnight |
| Registration Date |
Aug. 5, 2022, 3:50 p.m. |
| Last Update |
Aug. 5, 2022, 3:50 p.m. |
Affected System
| Bytecode Alliance |
|
wasmtime 0.30.0 未満
|
| Fedora Project |
|
Fedora
|
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
| No |
Changed Details |
Date of change |
| 1 |
[2022年07月04日] 掲載 |
July 4, 2022, 10:15 a.m. |