{"api_version":"1","generated_at":"2026-05-13T17:56:49+00:00","cve":"CVE-2016-9121","urls":{"html":"https://cve.report/CVE-2016-9121","api":"https://cve.report/api/cve/CVE-2016-9121.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2016-9121","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2016-9121"},"summary":{"title":"CVE-2016-9121","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.","state":"PUBLISHED","assigner":"hackerone","published_at":"2017-03-28 02:59:00","updated_at":"2025-04-20 01:37:25"},"problem_types":["CWE-326","Cryptographic Issue"],"metrics":[{"version":"3.0","source":"nvd@nist.gov","type":"Primary","score":"9.1","severity":"CRITICAL","vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","data":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"2.0","source":"nvd@nist.gov","type":"Primary","score":"6.4","severity":"","vector":"AV:N/AC:L/Au:N/C:P/I:P/A:N","data":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:N","baseScore":6.4,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"NONE"}}],"references":[{"url":"https://hackerone.com/reports/164590","name":"https://hackerone.com/reports/164590","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Permissions Required"],"title":"HackerOne","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.openwall.com/lists/oss-security/2016/11/03/1","name":"http://www.openwall.com/lists/oss-security/2016/11/03/1","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Mailing List","Patch","Third Party Advisory"],"title":"oss-security - CVE request: multiple issues in go-jose package","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507","name":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Issue Tracking","Patch","Third Party Advisory"],"title":"Merge branch 'cs/164590' · square/go-jose@c758193 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9121","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9121","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"n/a","product":"Go JOSE All versions before 1.0.4","version":"affected Go JOSE All versions before 1.0.4","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2016","cve_id":"9121","vulnerable":"1","versionEndIncluding":"1.0.3","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"go-jose_project","cpe5":"go-jose","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2016-9121","qid":"982076","title":"Go (go) Security Update for gopkg.in/square/go-jose.v1 (GHSA-86r9-39j9-99wp)"}]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2024-08-06T02:42:10.399Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"tags":["x_refsource_MISC","x_transferred"],"url":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507"},{"tags":["x_refsource_MISC","x_transferred"],"url":"https://hackerone.com/reports/164590"},{"tags":["x_refsource_MISC","x_transferred"],"url":"http://www.openwall.com/lists/oss-security/2016/11/03/1"}],"title":"CVE Program Container"}],"cna":{"affected":[{"product":"Go JOSE All versions before 1.0.4","vendor":"n/a","versions":[{"status":"affected","version":"Go JOSE All versions before 1.0.4"}]}],"datePublic":"2017-03-27T00:00:00.000Z","descriptions":[{"lang":"en","value":"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."}],"problemTypes":[{"descriptions":[{"description":"Cryptographic Issue","lang":"en","type":"text"}]}],"providerMetadata":{"dateUpdated":"2017-03-28T02:57:01.000Z","orgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","shortName":"hackerone"},"references":[{"tags":["x_refsource_MISC"],"url":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507"},{"tags":["x_refsource_MISC"],"url":"https://hackerone.com/reports/164590"},{"tags":["x_refsource_MISC"],"url":"http://www.openwall.com/lists/oss-security/2016/11/03/1"}],"x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"support@hackerone.com","ID":"CVE-2016-9121","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"Go JOSE All versions before 1.0.4","version":{"version_data":[{"version_value":"Go JOSE All versions before 1.0.4"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Cryptographic Issue"}]}]},"references":{"reference_data":[{"name":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507","refsource":"MISC","url":"https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507"},{"name":"https://hackerone.com/reports/164590","refsource":"MISC","url":"https://hackerone.com/reports/164590"},{"name":"http://www.openwall.com/lists/oss-security/2016/11/03/1","refsource":"MISC","url":"http://www.openwall.com/lists/oss-security/2016/11/03/1"}]}}}},"cveMetadata":{"assignerOrgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","assignerShortName":"hackerone","cveId":"CVE-2016-9121","datePublished":"2017-03-28T02:46:00.000Z","dateReserved":"2016-10-31T00:00:00.000Z","dateUpdated":"2024-08-06T02:42:10.399Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.1"},"nvd":{"publishedDate":"2017-03-28 02:59:00","lastModifiedDate":"2025-04-20 01:37:25","problem_types":["CWE-326","Cryptographic Issue"],"metrics":{"cvssMetricV30":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":9.1,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":5.2}],"cvssMetricV2":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:N","baseScore":6.4,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"NONE"},"baseSeverity":"MEDIUM","exploitabilityScore":10,"impactScore":4.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:go-jose_project:go-jose:*:*:*:*:*:*:*:*","versionEndIncluding":"1.0.3","matchCriteriaId":"461700A0-1ABE-4A30-9C79-80C835D8B62E"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2016","CveId":"9121","Ordinal":"1","Title":"CVE-2016-9121","CVE":"CVE-2016-9121","Year":"2016"},"notes":[{"CveYear":"2016","CveId":"9121","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"CVE-2016-9121"},{"CveYear":"2016","CveId":"9121","Ordinal":"2","NoteData":"2017-03-27","Type":"Other","Title":"Published"},{"CveYear":"2016","CveId":"9121","Ordinal":"3","NoteData":"2017-03-27","Type":"Other","Title":"Modified"}]}}}