Go
cpe:2.3:a:golang:go:*:*:*:*:*:*:*
- <= 1.22.11
- >= 1.23.0, < 1.23.6
- >= 1.24.0-0, < 1.24.0-rc.3
A vulnerability exists in the Go programming language's assembly implementation of the P-256 elliptic curve cryptography, specifically on the ppc64le architecture. The issue arises from the use of a variable time instruction in an internal function, which inadvertently leaks a small number of bits from secret scalars. This leakage, however, is not believed to be sufficient for recovering private keys in well-known protocols that use P-256.
Exploitation of this vulnerability could lead to the unauthorized disclosure of sensitive information, specifically a small number of bits from secret scalars used in P-256 elliptic curve cryptography.
The vulnerability can be reproduced by using a version of Go that is affected by this issue, specifically Go versions prior to 1.22.12, from 1.23.0-0 before 1.23.6, and from 1.24.0-0 before 1.24.0-rc.3. The vulnerability occurs in the assembly implementation of the P-256 elliptic curve functions in the crypto/internal/nistec package, on the ppc64le architecture. The variable time instruction in the p256NegCond function causes the timing side-channel vulnerability, leaking bits of secret scalars.
Users can upgrade to Go versions 1.22.12, 1.23.6, or 1.24.0-rc.3, which include the necessary patch to address this vulnerability.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.