Lucene search

K
osvGoogleOSV:GO-2023-2380
HistoryDec 11, 2023 - 3:30 p.m.

Private key recovery via invalid curve point in github.com/ecies/go/v2

2023-12-1115:30:30
Google
osv.dev
3
github
ecies
private key
recovery
ecdh
bug
curve point
attacker
public key
secp256k1
software

4.9 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

CHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N

6.9 Medium

AI Score

Confidence

Low

0.001 Low

EPSS

Percentile

20.6%

An attacker may be able to recover private keys due to a bug in the ECDH function.

The 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.

A workaround is to manually check that the public key is valid by calling the IsOnCurve function from the secp256k1 libraries.

CPENameOperatorVersion
github.com/ecies/go/v2lt2.0.8

4.9 Medium

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

CHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

NONE

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N

6.9 Medium

AI Score

Confidence

Low

0.001 Low

EPSS

Percentile

20.6%