blob: a7c329bb661f312e26edca2a421bc388d3dbea7c [file] [log] [blame]
id: GO-2021-0319
modules:
- module: std
versions:
- fixed: 1.16.14
- introduced: 1.17.0-0
fixed: 1.17.7
vulnerable_at: 1.17.6
packages:
- package: crypto/elliptic
symbols:
- CurveParams.IsOnCurve
- p384PointFromAffine
- p521PointFromAffine
skip_fix: 'TODO: revisit this reason (fix appears to not work with Go <1.18)'
summary: Incorrect computation for some invalid field elements in crypto/elliptic
description: |-
Some big.Int values that are not valid field elements (negative or overflowing)
might cause Curve.IsOnCurve to incorrectly return true. Operating on those
values may cause a panic or an invalid curve operation. Note that Unmarshal will
never return such values.
published: 2022-05-23T22:15:21Z
cves:
- CVE-2022-23806
credits:
- Guido Vranken
references:
- fix: https://go.dev/cl/382455
- fix: https://go.googlesource.com/go/+/7f9494c277a471f6f47f4af3036285c0b1419816
- web: https://groups.google.com/g/golang-announce/c/SUsQn0aSgPQ
- report: https://go.dev/issue/50974