265 lines
15 KiB
JSON
265 lines
15 KiB
JSON
{
|
|
"containers": {
|
|
"cna": {
|
|
"affected": [
|
|
{
|
|
"product": "wasmtime",
|
|
"vendor": "bytecodealliance",
|
|
"versions": [
|
|
{
|
|
"status": "affected",
|
|
"version": "<= 0.29.0"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "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`."
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"attackComplexity": "HIGH",
|
|
"attackVector": "LOCAL",
|
|
"availabilityImpact": "HIGH",
|
|
"baseScore": 6.3,
|
|
"baseSeverity": "MEDIUM",
|
|
"confidentialityImpact": "NONE",
|
|
"integrityImpact": "HIGH",
|
|
"privilegesRequired": "NONE",
|
|
"scope": "UNCHANGED",
|
|
"userInteraction": "REQUIRED",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H",
|
|
"version": "3.1"
|
|
}
|
|
}
|
|
],
|
|
"problemTypes": [
|
|
{
|
|
"descriptions": [
|
|
{
|
|
"cweId": "CWE-843",
|
|
"description": "CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')",
|
|
"lang": "en",
|
|
"type": "CWE"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"providerMetadata": {
|
|
"dateUpdated": "2021-10-04T02:06:13.000Z",
|
|
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
|
|
"shortName": "GitHub_M"
|
|
},
|
|
"references": [
|
|
{
|
|
"tags": [
|
|
"x_refsource_MISC"
|
|
],
|
|
"url": "https://crates.io/crates/wasmtime"
|
|
},
|
|
{
|
|
"tags": [
|
|
"x_refsource_CONFIRM"
|
|
],
|
|
"url": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-q879-9g95-56mx"
|
|
},
|
|
{
|
|
"tags": [
|
|
"x_refsource_MISC"
|
|
],
|
|
"url": "https://github.com/bytecodealliance/wasmtime/commit/b39f087414f27ae40c44449ed5d1154e03449bff"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-68713440cb",
|
|
"tags": [
|
|
"vendor-advisory",
|
|
"x_refsource_FEDORA"
|
|
],
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z2Z33FTXFQ6EOINVEQIP4DFBG53G5XIY/"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-1805eacb48",
|
|
"tags": [
|
|
"vendor-advisory",
|
|
"x_refsource_FEDORA"
|
|
],
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WAVBRYDDUIY2ZR3K3FO4BVYJKIMJ5TP7/"
|
|
}
|
|
],
|
|
"source": {
|
|
"advisory": "GHSA-q879-9g95-56mx",
|
|
"discovery": "UNKNOWN"
|
|
},
|
|
"title": "Wrong type for `Linker`-define functions when used across two `Engine`s",
|
|
"x_legacyV4Record": {
|
|
"CVE_data_meta": {
|
|
"ASSIGNER": "security-advisories@github.com",
|
|
"ID": "CVE-2021-39219",
|
|
"STATE": "PUBLIC",
|
|
"TITLE": "Wrong type for `Linker`-define functions when used across two `Engine`s"
|
|
},
|
|
"affects": {
|
|
"vendor": {
|
|
"vendor_data": [
|
|
{
|
|
"product": {
|
|
"product_data": [
|
|
{
|
|
"product_name": "wasmtime",
|
|
"version": {
|
|
"version_data": [
|
|
{
|
|
"version_value": "<= 0.29.0"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"vendor_name": "bytecodealliance"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"data_format": "MITRE",
|
|
"data_type": "CVE",
|
|
"data_version": "4.0",
|
|
"description": {
|
|
"description_data": [
|
|
{
|
|
"lang": "eng",
|
|
"value": "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`."
|
|
}
|
|
]
|
|
},
|
|
"impact": {
|
|
"cvss": {
|
|
"attackComplexity": "HIGH",
|
|
"attackVector": "LOCAL",
|
|
"availabilityImpact": "HIGH",
|
|
"baseScore": 6.3,
|
|
"baseSeverity": "MEDIUM",
|
|
"confidentialityImpact": "NONE",
|
|
"integrityImpact": "HIGH",
|
|
"privilegesRequired": "NONE",
|
|
"scope": "UNCHANGED",
|
|
"userInteraction": "REQUIRED",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H",
|
|
"version": "3.1"
|
|
}
|
|
},
|
|
"problemtype": {
|
|
"problemtype_data": [
|
|
{
|
|
"description": [
|
|
{
|
|
"lang": "eng",
|
|
"value": "CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"references": {
|
|
"reference_data": [
|
|
{
|
|
"name": "https://crates.io/crates/wasmtime",
|
|
"refsource": "MISC",
|
|
"url": "https://crates.io/crates/wasmtime"
|
|
},
|
|
{
|
|
"name": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-q879-9g95-56mx",
|
|
"refsource": "CONFIRM",
|
|
"url": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-q879-9g95-56mx"
|
|
},
|
|
{
|
|
"name": "https://github.com/bytecodealliance/wasmtime/commit/b39f087414f27ae40c44449ed5d1154e03449bff",
|
|
"refsource": "MISC",
|
|
"url": "https://github.com/bytecodealliance/wasmtime/commit/b39f087414f27ae40c44449ed5d1154e03449bff"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-68713440cb",
|
|
"refsource": "FEDORA",
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Z2Z33FTXFQ6EOINVEQIP4DFBG53G5XIY/"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-1805eacb48",
|
|
"refsource": "FEDORA",
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WAVBRYDDUIY2ZR3K3FO4BVYJKIMJ5TP7/"
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"advisory": "GHSA-q879-9g95-56mx",
|
|
"discovery": "UNKNOWN"
|
|
}
|
|
}
|
|
},
|
|
"adp": [
|
|
{
|
|
"providerMetadata": {
|
|
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"shortName": "CVE",
|
|
"dateUpdated": "2024-08-04T01:58:18.272Z"
|
|
},
|
|
"title": "CVE Program Container",
|
|
"references": [
|
|
{
|
|
"tags": [
|
|
"x_refsource_MISC",
|
|
"x_transferred"
|
|
],
|
|
"url": "https://crates.io/crates/wasmtime"
|
|
},
|
|
{
|
|
"tags": [
|
|
"x_refsource_CONFIRM",
|
|
"x_transferred"
|
|
],
|
|
"url": "https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-q879-9g95-56mx"
|
|
},
|
|
{
|
|
"tags": [
|
|
"x_refsource_MISC",
|
|
"x_transferred"
|
|
],
|
|
"url": "https://github.com/bytecodealliance/wasmtime/commit/b39f087414f27ae40c44449ed5d1154e03449bff"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-68713440cb",
|
|
"tags": [
|
|
"vendor-advisory",
|
|
"x_refsource_FEDORA",
|
|
"x_transferred"
|
|
],
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z2Z33FTXFQ6EOINVEQIP4DFBG53G5XIY/"
|
|
},
|
|
{
|
|
"name": "FEDORA-2021-1805eacb48",
|
|
"tags": [
|
|
"vendor-advisory",
|
|
"x_refsource_FEDORA",
|
|
"x_transferred"
|
|
],
|
|
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WAVBRYDDUIY2ZR3K3FO4BVYJKIMJ5TP7/"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"cveMetadata": {
|
|
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
|
|
"assignerShortName": "GitHub_M",
|
|
"cveId": "CVE-2021-39219",
|
|
"datePublished": "2021-09-17T20:10:13.000Z",
|
|
"dateReserved": "2021-08-16T00:00:00.000Z",
|
|
"dateUpdated": "2024-08-04T01:58:18.272Z",
|
|
"state": "PUBLISHED"
|
|
},
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.1"
|
|
} |