diff --git a/advisories/github-reviewed/2025/04/GHSA-pg9f-39pc-qf8g/GHSA-pg9f-39pc-qf8g.json b/advisories/github-reviewed/2025/04/GHSA-pg9f-39pc-qf8g/GHSA-pg9f-39pc-qf8g.json new file mode 100644 index 00000000000..90fff595858 --- /dev/null +++ b/advisories/github-reviewed/2025/04/GHSA-pg9f-39pc-qf8g/GHSA-pg9f-39pc-qf8g.json @@ -0,0 +1,59 @@ +{ + "schema_version": "1.4.0", + "id": "GHSA-pg9f-39pc-qf8g", + "modified": "2025-04-10T14:30:39Z", + "published": "2025-04-10T14:30:39Z", + "aliases": [], + "summary": "crossbeam-channel Vulnerable to Double Free on Drop", + "details": "The internal `Channel` type's `Drop` method has a race\nwhich could, in some circumstances, lead to a double-free.\nThis could result in memory corruption.\n\nQuoting from the\n[upstream description in merge request \\#1187](https://github.com/crossbeam-rs/crossbeam/pull/1187#issue-2980761131):\n\n> The problem lies in the fact that `dicard_all_messages` contained two paths that could lead to `head.block` being read but only one of them would swap the value. This meant that `dicard_all_messages` could end up observing a non-null block pointer (and therefore attempting to free it) without setting `head.block` to null. This would then lead to `Channel::drop` making a second attempt at dropping the same pointer.\n\nThe bug was introduced while fixing a memory leak, in\nupstream [MR \\#1084](https://github.com/crossbeam-rs/crossbeam/pull/1084),\nfirst published in 0.5.12.\n\nThe fix is in\nupstream [MR \\#1187](https://github.com/crossbeam-rs/crossbeam/pull/1187)\nand has been published in 0.5.15", + "severity": [ + { + "type": "CVSS_V4", + "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N" + } + ], + "affected": [ + { + "package": { + "ecosystem": "crates.io", + "name": "crossbeam-channel" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0.5.11" + }, + { + "fixed": "0.5.15" + } + ] + } + ] + } + ], + "references": [ + { + "type": "WEB", + "url": "https://github.com/crossbeam-rs/crossbeam/pull/1187" + }, + { + "type": "PACKAGE", + "url": "https://github.com/crossbeam-rs/crossbeam" + }, + { + "type": "WEB", + "url": "https://rustsec.org/advisories/RUSTSEC-2025-0024.html" + } + ], + "database_specific": { + "cwe_ids": [ + "CWE-415" + ], + "severity": "MODERATE", + "github_reviewed": true, + "github_reviewed_at": "2025-04-10T14:30:39Z", + "nvd_published_at": null + } +} \ No newline at end of file