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.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2023-2380"
}