CVE-2016-9121
CRITICAL9.1EPSS 0.19%Elliptic curve key disclosure in github.com/square/go-jose
Published: 6/23/2021Modified: 4/28/2026
Description
go-jose before 1.0.4 suffers from an invalid curve attack for the ECDH-ES algorithm. When deriving a shared key using ECDH-ES for an encrypted message, go-jose neglected to check that the received public key on a message is on the same curve as the static private key of the receiver, thus making it vulnerable to an invalid curve attack.
Affected packages (4)
- Debian/golang-gopkg-square-go-jose.v1from 0, < 1.0.5-1
- Go/github.com/square/go-josefrom 0, < 1.0.4
- Go/github.com/square/go-josefrom 0, < 1.0.4
- Go/gopkg.in/square/go-jose.v1from 0, < 1.0.4
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | CRITICAL9.1 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
References (6)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2016-9121
- ADVISORYhttps://security-tracker.debian.org/tracker/CVE-2016-9121
- WEBhttps://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507
- WEBhttps://hackerone.com/reports/164590
- WEBhttps://pkg.go.dev/vuln/GO-2020-0010
- WEBhttps://www.openwall.com/lists/oss-security/2016/11/03/1