{"id":"CVE-2023-49292","aliases":["AZL-37343","AZL-37392","AZL-58246","AZL-78898","EUVD-2023-3162","GHSA-8j98-cjfr-qx3h","GO-2023-2380"],"status":"published","title":"Possible private key restoration in go package github.com/ecies/go","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","severity":{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00335,"percentile":0.27248,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200"],"published":"2023-12-04T23:12:03Z","modified":"2026-11-11T02:47:32Z","fixes":[{"ecosystem":"Go","package":"github.com/ecies/go/v2","fixed_in":["2.0.8"],"sources":["ghsa","osv"]},{"ecosystem":"Azure Linux:2","package":"golang","fixed_in":["1.21.6-1"],"sources":["osv"]},{"ecosystem":"Azure Linux:3","package":"golang","fixed_in":["1.20.7-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/ecies/go/v2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.8"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"golang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.21.6-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:2","package":"golang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.18.0"},{"fixed":"1.21.6-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"golang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.20.7-1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"golang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.25.7-1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/ecies/go/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.8"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/ecies/go/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.8"}]}]}],"products":[{"vendor":"ecies","product":"go"}],"references":[{"url":"https://github.com/ecies/go/security/advisories/GHSA-8j98-cjfr-qx3h","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/ecies/go/commit/c6e775163866d6ea5233eb8ec8530a9122101ebd","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://github.com/ashutosh1206/Crypton/blob/master/Diffie-Hellman-Key-Exchange/Attack-Invalid-Curve-Point/README.md","tags":["x_refsource_MISC","x_transferred","Exploit","web"]},{"url":"https://github.com/ecies/go/releases/tag/v2.0.8","tags":["x_refsource_MISC","x_transferred","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-49292","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-8j98-cjfr-qx3h"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/49xxx/CVE-2023-49292.json","tags":["advisory"]},{"url":"https://github.com/ecies/go","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-49292","title":"Possible private key restoration in go package github.com/ecies/go","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-04T23:12:03.059Z","modified":"2024-08-02T21:53:44.99Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:35:12.998024Z"}],"euvd":[{"id":"EUVD-2023-3162","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-04T23:12:03Z","modified":"2024-08-02T21:53:44Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T03:49:56.293511Z"}],"ghsa":[{"id":"GHSA-8j98-cjfr-qx3h","title":"github.com/ecies/go vulnerable to possible private key restoration","description":"### Impact\nIf functions `Encapsulate()`, `Decapsulate()` and `ECDH()` could be called by an attacker, he could recover any private key that he interacts with.\n\n### Patches\nPatched in v2.0.8\n\n### Workarounds\nYou could manually check public key by calling `IsOnCurve()` function from secp256k1 libraries.\n\n### References\nhttps://github.com/ashutosh1206/Crypton/blob/master/Diffie-Hellman-Key-Exchange/Attack-Invalid-Curve-Point/README.md\n","status":"published","published":"2023-12-05T23:30:56Z","modified":"2023-12-05T23:30:58Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:37:23.843848Z"}],"nvd":[{"id":"CVE-2023-49292","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-05T00:15:09.627Z","modified":"2026-06-17T06:35:47.06Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:08:52.544469Z"}],"osv":[{"id":"AZL-37343","title":"CVE-2023-49292 affecting package golang for versions less than 1.21.6-1","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-05T00:15:09Z","modified":"2026-04-21T04:28:16.721707Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:28:04.608733Z"},{"id":"AZL-37392","title":"CVE-2023-49292 affecting package golang for versions less than 1.21.6-1","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-05T00:15:09Z","modified":"2026-04-21T04:28:18.254129Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:28:04.608733Z"},{"id":"AZL-58246","title":"CVE-2023-49292 affecting package golang for versions less than 1.20.7-1","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-05T00:15:09Z","modified":"2026-09-01T17:35:12Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:28:07.209678Z"},{"id":"AZL-78898","title":"CVE-2023-49292 affecting package golang 1.25.7-1","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-05T00:15:09Z","modified":"2026-04-21T04:34:31.418486Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:28:10.017343Z"},{"id":"CVE-2023-49292","title":"Possible private key restoration in go package github.com/ecies/go","description":"ecies is an Elliptic Curve Integrated Encryption Scheme for secp256k1 in Golang. If funcations Encapsulate(), Decapsulate() and ECDH() could be called by an attacker, they could recover any private key that interacts with it. This vulnerability was patched in 2.0.8. Users are advised to upgrade.","status":"published","published":"2023-12-04T23:12:03.059Z","modified":"2026-11-11T10:46:51.735090381Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-11T03:22:28.447808Z"},{"id":"GHSA-8j98-cjfr-qx3h","title":"github.com/ecies/go vulnerable to possible private key restoration","description":"### Impact\nIf functions `Encapsulate()`, `Decapsulate()` and `ECDH()` could be called by an attacker, he could recover any private key that he interacts with.\n\n### Patches\nPatched in v2.0.8\n\n### Workarounds\nYou could manually check public key by calling `IsOnCurve()` function from secp256k1 libraries.\n\n### References\nhttps://github.com/ashutosh1206/Crypton/blob/master/Diffie-Hellman-Key-Exchange/Attack-Invalid-Curve-Point/README.md\n","status":"published","published":"2023-12-05T23:30:56Z","modified":"2023-12-11T15:56:20.742463Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T15:46:42.437513Z"},{"id":"GO-2023-2380","title":"Private key recovery via invalid curve point in github.com/ecies/go/v2","description":"An attacker may be able to recover private keys due to a bug in the ECDH function.\n\nThe library does not check whether the provided public key is on the curve, which means that an attacker can create a public key that is not on the curve and use it to recover the private key.\n\nA workaround is to manually check that the public key is valid by calling the IsOnCurve function from the secp256k1 libraries.","status":"published","published":"2023-12-11T15:30:30Z","modified":"2024-05-20T16:03:47Z","updated_at":"2026-11-02T15:47:01.185262Z"}]}}
