{"api_version":"1","generated_at":"2026-05-13T17:57:44+00:00","cve":"CVE-2016-9122","urls":{"html":"https://cve.report/CVE-2016-9122","api":"https://cve.report/api/cve/CVE-2016-9122.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2016-9122","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2016-9122"},"summary":{"title":"CVE-2016-9122","description":"go-jose before 1.0.4 suffers from multiple signatures exploitation. The go-jose library supports messages with multiple signatures. However, when validating a signed message the API did not indicate which signature was valid, which could potentially lead to confusion. For example, users of the library might mistakenly read protected header values from an attached signature that was different from the one originally validated.","state":"PUBLISHED","assigner":"hackerone","published_at":"2017-03-28 02:59:00","updated_at":"2025-04-20 01:37:25"},"problem_types":["CWE-284","Cryptographic Issue"],"metrics":[{"version":"3.0","source":"nvd@nist.gov","type":"Primary","score":"7.5","severity":"HIGH","vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","data":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"2.0","source":"nvd@nist.gov","type":"Primary","score":"5","severity":"","vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","data":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:P/A:N","baseScore":5,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE"}}],"references":[{"url":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6","name":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Issue Tracking","Patch","Third Party Advisory"],"title":"Merge pull request #111 from square/cs/better-multi · square/go-jose@2c5656a · GitHub","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://hackerone.com/reports/169629","name":"https://hackerone.com/reports/169629","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Permissions Required"],"title":"HackerOne","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9122","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9122","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":"9122","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-9122","qid":"982552","title":"Go (go) Security Update for gopkg.in/square/go-jose.v1 (GHSA-77gc-fj98-665h)"}]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2024-08-06T02:42:10.637Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"tags":["x_refsource_MISC","x_transferred"],"url":"https://hackerone.com/reports/169629"},{"tags":["x_refsource_MISC","x_transferred"],"url":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6"},{"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 multiple signatures exploitation. The go-jose library supports messages with multiple signatures. However, when validating a signed message the API did not indicate which signature was valid, which could potentially lead to confusion. For example, users of the library might mistakenly read protected header values from an attached signature that was different from the one originally validated."}],"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://hackerone.com/reports/169629"},{"tags":["x_refsource_MISC"],"url":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6"},{"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-9122","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 multiple signatures exploitation. The go-jose library supports messages with multiple signatures. However, when validating a signed message the API did not indicate which signature was valid, which could potentially lead to confusion. For example, users of the library might mistakenly read protected header values from an attached signature that was different from the one originally validated."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Cryptographic Issue"}]}]},"references":{"reference_data":[{"name":"https://hackerone.com/reports/169629","refsource":"MISC","url":"https://hackerone.com/reports/169629"},{"name":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6","refsource":"MISC","url":"https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6"},{"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-9122","datePublished":"2017-03-28T02:46:00.000Z","dateReserved":"2016-10-31T00:00:00.000Z","dateUpdated":"2024-08-06T02:42:10.637Z","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-284","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:N/I:H/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":3.6}],"cvssMetricV2":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:P/A:N","baseScore":5,"accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE"},"baseSeverity":"MEDIUM","exploitabilityScore":10,"impactScore":2.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":"9122","Ordinal":"1","Title":"CVE-2016-9122","CVE":"CVE-2016-9122","Year":"2016"},"notes":[{"CveYear":"2016","CveId":"9122","Ordinal":"1","NoteData":"go-jose before 1.0.4 suffers from multiple signatures exploitation. The go-jose library supports messages with multiple signatures. However, when validating a signed message the API did not indicate which signature was valid, which could potentially lead to confusion. For example, users of the library might mistakenly read protected header values from an attached signature that was different from the one originally validated.","Type":"Description","Title":"CVE-2016-9122"},{"CveYear":"2016","CveId":"9122","Ordinal":"2","NoteData":"2017-03-27","Type":"Other","Title":"Published"},{"CveYear":"2016","CveId":"9122","Ordinal":"3","NoteData":"2017-03-27","Type":"Other","Title":"Modified"}]}}}