diff --git a/crates/RUSTSEC-2026-0202.json b/crates/RUSTSEC-2026-0202.json new file mode 100644 index 000000000..8dd2bf522 --- /dev/null +++ b/crates/RUSTSEC-2026-0202.json @@ -0,0 +1,67 @@ +{ + "id": "RUSTSEC-2026-0202", + "modified": "2026-07-05T08:34:37Z", + "published": "2026-07-05T12:00:00Z", + "aliases": [], + "related": [], + "summary": "`let_cxx_string!` uses uninitialized value due to exception safety violations", + "details": "In affected versions of this crate, `let_cxx_string!` is not exception safe. After creating the `StackString`, if `match $value` panics, the content of `StackString` is not yet initialized, while the drop implementation of `StackString` unconditionally deinitializes the content, leading to use of uninitialized value.\n\nThe soundness issue was fixed in version `1.0.195` by moving drop logics to separate drop guard after initializing the `StackString`.", + "severity": [], + "affected": [ + { + "package": { + "ecosystem": "crates.io", + "name": "cxx", + "purl": "pkg:cargo/cxx" + }, + "ecosystem_specific": { + "affects": { + "arch": [], + "os": [], + "functions": [ + "cxx::let_cxx_string" + ] + }, + "affected_functions": null + }, + "database_specific": { + "categories": [ + "memory-exposure" + ], + "cvss": null, + "informational": "unsound" + }, + "ranges": [ + { + "type": "SEMVER", + "events": [ + { + "introduced": "0.0.0-0" + }, + { + "fixed": "1.0.195" + } + ] + } + ], + "versions": [] + } + ], + "references": [ + { + "type": "PACKAGE", + "url": "https://crates.io/crates/cxx" + }, + { + "type": "ADVISORY", + "url": "https://rustsec.org/advisories/RUSTSEC-2026-0202.html" + }, + { + "type": "REPORT", + "url": "https://github.com/dtolnay/cxx/issues/1729" + } + ], + "database_specific": { + "license": "CC0-1.0" + } +} \ No newline at end of file