diff --git a/advisories/github-reviewed/2023/09/GHSA-m95q-7qp3-xv42/GHSA-m95q-7qp3-xv42.json b/advisories/github-reviewed/2023/09/GHSA-m95q-7qp3-xv42/GHSA-m95q-7qp3-xv42.json index fbadf9cec38..d987580ef18 100644 --- a/advisories/github-reviewed/2023/09/GHSA-m95q-7qp3-xv42/GHSA-m95q-7qp3-xv42.json +++ b/advisories/github-reviewed/2023/09/GHSA-m95q-7qp3-xv42/GHSA-m95q-7qp3-xv42.json @@ -1,15 +1,18 @@ { "schema_version": "1.4.0", "id": "GHSA-m95q-7qp3-xv42", - "modified": "2023-10-02T16:26:26Z", + "modified": "2024-09-06T19:11:37Z", "published": "2023-09-28T21:30:58Z", "aliases": [ "CVE-2023-4316" ], "summary": "Zod denial of service vulnerability", - "details": "Zod version 3.22.2 allows an attacker to perform a denial of service while validating emails.\n\n\n\n", + "details": "Zod version 3.22.2 allows an attacker to perform a denial of service while validating emails.", "severity": [ - + { + "type": "CVSS_V3", + "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L" + } ], "affected": [ { @@ -52,6 +55,10 @@ "type": "WEB", "url": "https://github.com/colinhacks/zod/commit/2ba00fe2377f4d53947a84b8cdb314a63bbd6dd4" }, + { + "type": "WEB", + "url": "https://fluidattacks.com/advisories/swift" + }, { "type": "PACKAGE", "url": "https://github.com/colinhacks/zod" @@ -69,7 +76,7 @@ "cwe_ids": [ "CWE-1333" ], - "severity": "LOW", + "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2023-10-02T16:26:26Z", "nvd_published_at": "2023-09-28T21:15:10Z" diff --git a/advisories/github-reviewed/2024/09/GHSA-rwq6-crjg-9cpw/GHSA-rwq6-crjg-9cpw.json b/advisories/github-reviewed/2024/09/GHSA-rwq6-crjg-9cpw/GHSA-rwq6-crjg-9cpw.json index 1a0c715a447..ff7b9ce7c82 100644 --- a/advisories/github-reviewed/2024/09/GHSA-rwq6-crjg-9cpw/GHSA-rwq6-crjg-9cpw.json +++ b/advisories/github-reviewed/2024/09/GHSA-rwq6-crjg-9cpw/GHSA-rwq6-crjg-9cpw.json @@ -1,13 +1,13 @@ { "schema_version": "1.4.0", "id": "GHSA-rwq6-crjg-9cpw", - "modified": "2024-09-05T16:44:28Z", + "modified": "2024-09-06T19:11:51Z", "published": "2024-09-05T16:44:27Z", "aliases": [ "CVE-2024-7884" ], "summary": "ic-cdk has a memory leak when calling a canister method via `ic_cdk::call`", - "details": "When a canister method is called via `ic_cdk::call*`, a new Future `CallFuture` is created and can be awaited by the caller to get the execution result. Internally, the state of the Future is tracked and stored in a struct called `CallFutureState`. A bug in the polling implementation of the `CallFuture` allows multiple references to be held for this internal state and not all references were dropped before the `Future` is resolved. Since we have unaccounted references held, a copy of the internal state ended up being persisted in the canister's heap and thus causing a memory leak. \n\n### Impact\nCanisters built in Rust with `ic_cdk` and `ic_cdk_timers` are affected. If these canisters call a canister method, use timers or heartbeat, they will likely leak a small amount of memory on every such operation. **In the worst case, this could lead to heap memory exhaustion triggered by an attacker.**\n\nMotoko based canisters are not affected by the bug.\n\n### Patches\nThe patch has been backported to all minor versions between `>= 0.8.0, <= 0.15.0`. The patched versions available are `0.8.2, 0.9.3, 0.10.1, 0.11.6, 0.12.2, 0.13.5, 0.14.1, 0.15.1` and their previous versions have been yanked. \n\n### Workarounds\nThere are no known workarounds at the moment. Developers are recommended to upgrade their canister as soon as possible to the latest available patched version of `ic_cdk` to avoid running out of Wasm heap memory. \n\n> [!NOTE] \n> Upgrading the canisters (without updating `ic_cdk`) also frees the leaked memory but it's only a temporary solution.\n\n### Referencesas\n- [dfinity/cdk-rs/pull/509](https://github.com/dfinity/cdk-rs/pull/509)\n- [ic_cdk docs](https://docs.rs/ic-cdk/latest/ic_cdk/)\n- [Internet Computer Specification](https://internetcomputer.org/docs/current/references/ic-interface-spec)", + "details": "When a canister method is called via `ic_cdk::call*`, a new Future `CallFuture` is created and can be awaited by the caller to get the execution result. Internally, the state of the Future is tracked and stored in a struct called `CallFutureState`. A bug in the polling implementation of the `CallFuture` allows multiple references to be held for this internal state and not all references were dropped before the `Future` is resolved. Since we have unaccounted references held, a copy of the internal state ended up being persisted in the canister's heap and thus causing a memory leak. \n\n### Impact\nCanisters built in Rust with `ic_cdk` and `ic_cdk_timers` are affected. If these canisters call a canister method, use timers or heartbeat, they will likely leak a small amount of memory on every such operation. **In the worst case, this could lead to heap memory exhaustion triggered by an attacker.**\n\nMotoko based canisters are not affected by the bug.\n\n### Patches\nThe patch has been backported to all minor versions between `>= 0.8.0, <= 0.15.0`. The patched versions available are `0.8.2, 0.9.3, 0.10.1, 0.11.6, 0.12.2, 0.13.5, 0.14.1, 0.15.1` and their previous versions have been yanked. \n\n### Workarounds\nThere are no known workarounds at the moment. Developers are recommended to upgrade their canister as soon as possible to the latest available patched version of `ic_cdk` to avoid running out of Wasm heap memory. \n\n> [!NOTE] \n> Upgrading the canisters (without updating `ic_cdk`) also frees the leaked memory but it's only a temporary solution.\n\n### References\n- [dfinity/cdk-rs/pull/509](https://github.com/dfinity/cdk-rs/pull/509)\n- [ic_cdk docs](https://docs.rs/ic-cdk/latest/ic_cdk/)\n- [Internet Computer Specification](https://internetcomputer.org/docs/current/references/ic-interface-spec)", "severity": [ { "type": "CVSS_V3",