{"id":"CVE-2017-1000168","aliases":["EUVD-2021-1520","GHSA-2wc6-2rcj-8v76","RUSTSEC-2017-0001"],"status":"published","title":"scalarmult() vulnerable to degenerate public keys","description":"sodiumoxide 0.0.13 and older scalarmult() vulnerable to degenerate public keys","severity":{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.01251,"percentile":0.69602,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1240"],"published":"2017-01-26T12:00:00Z","modified":"2026-06-17T00:58:51Z","fixes":[{"ecosystem":"crates.io","package":"sodiumoxide","fixed_in":["0.0.14"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.0.14"}]}]},{"source":"osv","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.14"}]}]},{"source":"osv","ecosystem":"crates.io","package":"sodiumoxide","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.0.14"}]}]}],"products":[{"vendor":"sodiumoxide_project","product":"sodiumoxide"}],"references":[{"url":"https://github.com/dnaq/sodiumoxide/issues/154","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Third Party Advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-1000168","tags":["advisory"]},{"url":"https://github.com/sodiumoxide/sodiumoxide/commit/24c7a5550807ac8a09648b5878f19d14c3a69135","tags":["web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2017-0001.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-2wc6-2rcj-8v76"},{"url":"https://github.com/sodiumoxide/sodiumoxide","tags":["package"]},{"url":"https://crates.io/crates/sodiumoxide","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2017-1000168","description":"sodiumoxide 0.0.13 and older scalarmult() vulnerable to degenerate public keys","status":"published","published":"2017-11-17T18:00:00Z","modified":"2024-09-16T23:31:52.909Z","updated_at":"2026-11-02T14:33:20.843976Z"}],"euvd":[{"id":"EUVD-2021-1520","description":"sodiumoxide 0.0.13 and older scalarmult() vulnerable to degenerate public keys","status":"published","published":"2017-11-17T18:00:00Z","modified":"2024-09-16T23:31:52Z","updated_at":"2026-11-03T00:54:49.244391Z"}],"ghsa":[{"id":"GHSA-2wc6-2rcj-8v76","title":"scalarmult() vulnerable to degenerate public keys","description":"The scalarmult() function included in previous versions of this crate accepted all-zero public keys, for which the resulting Diffie-Hellman shared secret will always be zero regardless of the private key used.\n\nThis issue was fixed by checking for this class of keys and rejecting them if they are used.","status":"published","published":"2021-08-25T21:00:41Z","modified":"2023-06-13T20:56:05Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-1240"],"updated_at":"2026-11-02T14:36:54.225318Z"}],"nvd":[{"id":"CVE-2017-1000168","description":"sodiumoxide 0.0.13 and older scalarmult() vulnerable to degenerate public keys","status":"published","published":"2017-11-17T18:29:00.2Z","modified":"2026-06-17T00:58:51.307Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"updated_at":"2026-11-02T14:04:08.635428Z"}],"osv":[{"id":"GHSA-2wc6-2rcj-8v76","title":"scalarmult() vulnerable to degenerate public keys","description":"The scalarmult() function included in previous versions of this crate accepted all-zero public keys, for which the resulting Diffie-Hellman shared secret will always be zero regardless of the private key used.\n\nThis issue was fixed by checking for this class of keys and rejecting them if they are used.","status":"published","published":"2021-08-25T21:00:41Z","modified":"2023-11-08T03:58:43.680103Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-1240"],"updated_at":"2026-11-02T15:46:34.700741Z"},{"id":"RUSTSEC-2017-0001","title":"scalarmult() vulnerable to degenerate public keys","description":"The `scalarmult()` function included in previous versions of this crate\naccepted all-zero public keys, for which the resulting Diffie-Hellman shared\nsecret will always be zero regardless of the private key used.\n\nThis issue was fixed by checking for this class of keys and rejecting them\nif they are used.","status":"published","published":"2017-01-26T12:00:00Z","modified":"2023-11-08T03:58:43.680103Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:39.492624Z"}]}}
