Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2016-9121

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2016-9121
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 08:40 UTC · Revision 1

Source evidence

CVE-2016-9121

core-osv · Original source

Published 28 Mar 2017, 02:59 UTC

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.

osv:CVE-2016-9121
Complete source record
{
  "id": "d372219340f1ec114d768f4bd1b60ee5c75870a086d1ba4938b3742a7537620b",
  "url": "https://osv.dev/vulnerability/CVE-2016-9121",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2016-9121",
    "summary": "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.",
    "evidence": "osv:CVE-2016-9121",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2016-9121",
      "aliases": [
        "CVE-2016-9121",
        "GHSA-86r9-39j9-99wp",
        "GO-2020-0010"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/go-jose/go-jose",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "a3927f83df1b1516f9e9dec71839c93e6bcf1db0"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:go-jose_project:go-jose:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "1.0.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.0.3",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-9121.json"
          }
        },
        {
          "ranges": [
            {
              "repo": "https://github.com/square/go-jose",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "a3927f83df1b1516f9e9dec71839c93e6bcf1db0"
                },
                {
                  "fixed": "c7581939a3656bb65e89d64da0a52364a33d2507"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:go-jose_project:go-jose:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "1.0.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c7581939a3656bb65e89d64da0a52364a33d2507"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.0.3",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-9121.json"
          }
        }
      ],
      "modified": "2026-10-24T10:48:49.009990956Z",
      "provider": "osv",
      "references": [
        "https://hackerone.com/reports/164590",
        "https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2016-9121",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 441637,
  "published_at": "2017-03-28T02:59:00.213+00:00"
}