CVE-2026-116587: Go JOSE RSA parameter validation denial of service

CVE-2026-116587 · Severity: high · CVSS 7.5 · Published 2026-10-26

Go JOSE is a cryptographic library that handles digital signatures and encryption standards in Go applications. An attacker can craft malicious RSA encryption keys with abnormally large or degenerate parameters that cause excessive CPU consumption when parsed, allowing remote denial of service in applications that accept untrusted JWK (JSON Web Key) input.

Technologies: github.com/go-jose/go-jose/v3 (Go), github.com/go-jose/go-jose/v4 (Go), Go-Jose. Vendors: Go, Go-Jose.

Quick answers

Is CVE-2026-116587 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-116587 being exploited in the wild.
How severe is CVE-2026-116587?
High severity, with a CVSS score of 7.5, published 26 October 2026.
Which products and versions are affected?
github.com/go-jose/go-jose/v3 (Go) <= 3.0.5, SEMVER:introduced=0,last_affected=3.0.5; github.com/go-jose/go-jose/v4 (Go) <= 4.1.5, SEMVER:introduced=0,fixed=4.1.6; Go-Jose prior to 4.1.6.
Is there a fix for CVE-2026-116587?
Yes. github.com/go-jose/go-jose/v4 (Go): upgrade to 4.1.6 or later. Until then: Set MaxRSAModulusBits before performing JWK parsing if RSA keys larger than 4096 bits are required (though this re-exposes the vulnerability). Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-116587 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-116587?
Check whether you run github.com/go-jose/go-jose/v3 (Go), github.com/go-jose/go-jose/v4 (Go) or Go-Jose at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/go-jose/go-jose/v4 (Go): upgrade to 4.1.6 or later
    go get github.com/go-jose/go-jose/v4@v4.1.6

Set MaxRSAModulusBits before performing JWK parsing if RSA keys larger than 4096 bits are required (though this re-exposes the vulnerability).

Technical details

The vulnerability exists in JWK parsing where RSA modulus and prime values from untrusted sources are validated by crypto/rsa.PrivateKey.Validate without prior size or consistency bounds. On Go 1.24+, crafted RSA parameters can trigger cubic-time validation logic. The fix enforces a 4096-bit maximum on RSA moduli during parsing and rejects private key material in JWK/EPK headers to avoid expensive validation steps.

Affected products

  • go-jose go-jose prior to 4.1.6

Identifiers

  • CVE-2026-116587
  • GHSA-mgcc-cww5-fp2q

Timeline

  • 2026-10-26: disclosed
  • 2026-10-14: patched: Fix merged in commit a0111f8

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.