{"id":"CVE-2019-25002","aliases":["EUVD-2021-1922","GHSA-wrvc-72w7-xpmj","RUSTSEC-2019-0026"],"status":"published","title":"Incorrect Comparison in sodiumoxide","description":"An issue was discovered in the sodiumoxide crate before 0.2.5 for Rust. generichash::Digest::eq compares itself to itself and thus has degenerate security properties.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01502,"percentile":0.74495,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-697"],"published":"2019-10-11T12:00:00Z","modified":"2026-10-24T10:30:15Z","fixes":[{"ecosystem":"crates.io","package":"sodiumoxide","fixed_in":["0.2.5"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.2.0"},{"fixed":"0.2.5"}]}]},{"source":"osv","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"SEMVER","events":[{"introduced":"0.2.0"},{"fixed":"0.2.5"}]}]},{"source":"osv","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.2.5"}]}]}],"products":[{"vendor":"sodiumoxide_project","product":"sodiumoxide"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2019-0026.html","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-25002","tags":["advisory"]},{"url":"https://github.com/sodiumoxide/sodiumoxide/pull/381","tags":["web"]},{"url":"https://github.com/sodiumoxide/sodiumoxide/pull/381/commits/fae052b834b097ced9a89a8fff8466e18f383070","tags":["web"]},{"url":"https://github.com/sodiumoxide/sodiumoxide/commit/38490723927f230498adf795153e6cd3cb08b6a8","tags":["web"]},{"url":"https://github.com/advisories/GHSA-wrvc-72w7-xpmj"},{"url":"https://github.com/sodiumoxide/sodiumoxide","tags":["package"]},{"url":"https://crates.io/crates/sodiumoxide","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2019-25002","description":"An issue was discovered in the sodiumoxide crate before 0.2.5 for Rust. generichash::Digest::eq compares itself to itself and thus has degenerate security properties.","status":"published","published":"2020-12-31T08:33:09Z","modified":"2024-08-05T03:00:18.951Z","updated_at":"2026-11-02T14:20:19.737165Z"}],"euvd":[{"id":"EUVD-2021-1922","description":"An issue was discovered in the sodiumoxide crate before 0.2.5 for Rust. generichash::Digest::eq compares itself to itself and thus has degenerate security properties.","status":"published","published":"2020-12-31T08:33:09Z","modified":"2024-08-05T03:00:18Z","updated_at":"2026-11-03T02:40:19.824838Z"}],"ghsa":[{"id":"GHSA-wrvc-72w7-xpmj","title":"Incorrect Comparison in sodiumoxide","description":"An issue was discovered in the sodiumoxide crate starting with 0.2.0 and prior to 0.2.5 for Rust. `generichash::Digest::eq` compares itself to itself and thus has degenerate security properties.","status":"published","published":"2021-08-25T20:45:54Z","modified":"2023-08-25T00:12:29Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-697"],"updated_at":"2026-11-02T14:37:00.680009Z"}],"nvd":[{"id":"CVE-2019-25002","description":"An issue was discovered in the sodiumoxide crate before 0.2.5 for Rust. generichash::Digest::eq compares itself to itself and thus has degenerate security properties.","status":"published","published":"2020-12-31T10:15:14.237Z","modified":"2026-06-17T02:31:27.607Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"updated_at":"2026-11-02T14:05:48.502374Z"}],"osv":[{"id":"CVE-2019-25002","description":"An issue was discovered in the sodiumoxide crate before 0.2.5 for Rust. generichash::Digest::eq compares itself to itself and thus has degenerate security properties.","status":"published","published":"2020-12-31T10:15:14.237Z","modified":"2026-10-24T10:30:15.728223094Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:12.363788Z"},{"id":"GHSA-wrvc-72w7-xpmj","title":"Incorrect Comparison in sodiumoxide","description":"An issue was discovered in the sodiumoxide crate starting with 0.2.0 and prior to 0.2.5 for Rust. `generichash::Digest::eq` compares itself to itself and thus has degenerate security properties.","status":"published","published":"2021-08-25T20:45:54Z","modified":"2023-11-08T04:01:31.981797Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-697"],"updated_at":"2026-11-02T15:46:59.131095Z"},{"id":"RUSTSEC-2019-0026","title":"generichash::Digest::eq always return true","description":"PartialEq implementation for generichash::Digest has compared itself to itself.\n\nDigest::eq always returns true and Digest::ne always returns false.","status":"published","published":"2019-10-11T12:00:00Z","modified":"2023-11-08T04:01:31.981797Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:53:39.492624Z"}]}}
