diff --git a/crates/RUSTSEC-2026-0196.json b/crates/RUSTSEC-2026-0196.json new file mode 100644 index 000000000..ae55e6358 --- /dev/null +++ b/crates/RUSTSEC-2026-0196.json @@ -0,0 +1,64 @@ +{ + "id": "RUSTSEC-2026-0196", + "modified": "2026-07-03T13:44:38Z", + "published": "2026-07-01T12:00:00Z", + "aliases": [], + "related": [], + "summary": "`cgmath` is unmaintained", + "details": "The `cgmath` crate is no longer maintained.\n\nUsers should consider switching to a maintained alternative.", + "severity": [], + "affected": [ + { + "package": { + "ecosystem": "crates.io", + "name": "cgmath", + "purl": "pkg:cargo/cgmath" + }, + "ecosystem_specific": { + "affects": { + "arch": [], + "os": [], + "functions": [] + }, + "affected_functions": null + }, + "database_specific": { + "categories": [], + "cvss": null, + "informational": "unmaintained" + }, + "ranges": [ + { + "type": "SEMVER", + "events": [ + { + "introduced": "0.0.0-0" + } + ] + } + ], + "versions": [] + } + ], + "references": [ + { + "type": "PACKAGE", + "url": "https://crates.io/crates/cgmath" + }, + { + "type": "ADVISORY", + "url": "https://rustsec.org/advisories/RUSTSEC-2026-0196.html" + }, + { + "type": "WEB", + "url": "https://github.com/rustsec/advisory-db/pull/2910#pullrequestreview-4611570365" + }, + { + "type": "REPORT", + "url": "https://github.com/rustgd/cgmath/issues/565" + } + ], + "database_specific": { + "license": "CC0-1.0" + } +} \ No newline at end of file diff --git a/crates/RUSTSEC-2026-0197.json b/crates/RUSTSEC-2026-0197.json new file mode 100644 index 000000000..860ef7fa5 --- /dev/null +++ b/crates/RUSTSEC-2026-0197.json @@ -0,0 +1,66 @@ +{ + "id": "RUSTSEC-2026-0197", + "modified": "2026-07-03T13:44:38Z", + "published": "2026-03-11T12:00:00Z", + "aliases": [], + "related": [], + "summary": "`Matrix{2,3,4}::swap_columns` can trigger undefined behavior for identical indices", + "details": "The `Matrix2::swap_columns`, `Matrix3::swap_columns`, and `Matrix4::swap_columns`\nimplementations call `ptr::swap(&mut self[a], &mut self[b])`.\n\nWhen `a == b`, these safe APIs create two mutable references to the same matrix\ncolumn and pass them to `ptr::swap`. This violates Rust's aliasing rules and can\ntrigger undefined behavior. The issue can be reproduced from safe Rust by calling\n`swap_columns` with identical column indices, for example `m.swap_columns(0, 0)`.\n\nA minimal fix is to return early when the two column indices are equal before\ncalling `ptr::swap`.", + "severity": [], + "affected": [ + { + "package": { + "ecosystem": "crates.io", + "name": "cgmath", + "purl": "pkg:cargo/cgmath" + }, + "ecosystem_specific": { + "affects": { + "arch": [], + "os": [], + "functions": [ + "cgmath::Matrix2::swap_columns", + "cgmath::Matrix3::swap_columns", + "cgmath::Matrix4::swap_columns" + ] + }, + "affected_functions": null + }, + "database_specific": { + "categories": [ + "memory-corruption" + ], + "cvss": null, + "informational": "unsound" + }, + "ranges": [ + { + "type": "SEMVER", + "events": [ + { + "introduced": "0.0.0-0" + } + ] + } + ], + "versions": [] + } + ], + "references": [ + { + "type": "PACKAGE", + "url": "https://crates.io/crates/cgmath" + }, + { + "type": "ADVISORY", + "url": "https://rustsec.org/advisories/RUSTSEC-2026-0197.html" + }, + { + "type": "REPORT", + "url": "https://github.com/rustgd/cgmath/issues/565" + } + ], + "database_specific": { + "license": "CC0-1.0" + } +} \ No newline at end of file