{"id":"CVE-2020-36210","aliases":["EUVD-2021-1680","GHSA-cgmg-2v6m-fjg7","RUSTSEC-2020-0103"],"status":"published","title":"Free of uninitialized memory in autorand","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.00431,"percentile":0.37662,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787","CWE-908"],"published":"2020-12-31T12:00:00Z","modified":"2026-06-17T03:15:01Z","fixes":[{"ecosystem":"crates.io","package":"autorand","fixed_in":["0.2.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"autorand","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.2.3"}]}]},{"source":"osv","ecosystem":"crates.io","package":"autorand","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.2.3"}]}]},{"source":"osv","ecosystem":"crates.io","package":"autorand","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.2.3"}]}]}],"products":[{"vendor":"autorand_project","product":"autorand"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0103.html","tags":["x_refsource_MISC","x_transferred","Exploit","Vendor Advisory","web","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-36210","tags":["advisory"]},{"url":"https://github.com/mersinvald/autorand-rs/issues/5","tags":["web","report"]},{"url":"https://github.com/advisories/GHSA-cgmg-2v6m-fjg7"},{"url":"https://github.com/mersinvald/autorand-rs","tags":["package"]},{"url":"https://crates.io/crates/autorand","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-36210","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","status":"published","published":"2021-01-22T09:05:45Z","modified":"2024-08-04T17:23:09.463Z","updated_at":"2026-11-02T14:35:55.128961Z"}],"euvd":[{"id":"EUVD-2021-1680","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","status":"published","published":"2021-01-22T09:05:45Z","modified":"2024-08-04T17:23:09Z","updated_at":"2026-11-03T03:07:03.484914Z"}],"ghsa":[{"id":"GHSA-cgmg-2v6m-fjg7","title":"Free of uninitialized memory in autorand","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","status":"published","published":"2021-08-25T20:50:41Z","modified":"2023-01-11T05:05:30Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T14:36:12.361159Z"}],"nvd":[{"id":"CVE-2020-36210","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","status":"published","published":"2021-01-26T18:15:56.02Z","modified":"2026-06-17T03:15:01.01Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":4.6,"vector":"AV:L/AC:L/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-787","CWE-908"],"updated_at":"2026-11-02T14:06:30.596418Z"}],"osv":[{"id":"GHSA-cgmg-2v6m-fjg7","title":"Free of uninitialized memory in autorand","description":"An issue was discovered in the autorand crate before 0.2.3 for Rust. Because of impl Random on arrays, uninitialized memory can be dropped when a panic occurs, leading to memory corruption.","status":"published","published":"2021-08-25T20:50:41Z","modified":"2023-11-08T04:03:41.720212Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T15:46:44.927642Z"},{"id":"RUSTSEC-2020-0103","title":"`impl Random` on arrays can lead to dropping uninitialized memory","description":"Affected versions of this crate had a panic safety issue to drop partially uninitialized array of `T` upon panic in a user provided function `T::random()`. Dropping uninitialized `T` can potentially cause memory corruption or undefined behavior.\n\nThe flaw was corrected in commit 565d508 by using `MaybeUninit\u003cT\u003e` to avoid possible dropping of uninitialized memory upon panic.","status":"published","published":"2020-12-31T12:00:00Z","modified":"2023-11-08T04:03:41.720212Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:39.492624Z"}]}}
