go-jose: crafted RSA keys in JWKs can make Go apps hang on CPU
If an application reads login keys (JWKs) from outside sources, an attacker can send a specially crafted key that makes the app spend a lot of processor time, slowing down or freezing the service. The attack needs no special setup.
| Severity | HighCVSS 7.5 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | Partlygo-jose/v4 4.1.6; go-jose/v3 fixed version not stated in the provided material · since 27 Oct 2026 |
| How sure is this? | Official, 2 sourcesBacked by an official source |
How the attack works simplified
- 1AttackerCrafts a JWS with a malicious RSA key
- 2Sent to appRequest carries the JWK in the protected header
- 3go-jose parses JWKNo size or consistency bounds checked
- 4Validation runscrypto/rsa Validate takes cubic CPU time
- 5CPU exhaustedService slows down or stops responding
- ResultService denied to legitimate users
What happened
go-jose does not bound the size or consistency of RSA modulus and prime values parsed from JWKs before passing them to crypto/rsa.PrivateKey.Validate, which on Go 1.24+ runs in cubic time, enabling remote denial of service.
Are you affected?
You are affected if your application uses go-jose v4 at 4.1.5 or earlier, or go-jose v3 at 3.0.5 or earlier, built with Go 1.24 or later, and parses JWKs from untrusted sources.
| Package / product | Affected versions | Fixed in |
|---|---|---|
| github.com/go-jose/go-jose/v4 · go | <= 4.1.5 | 4.1.6 |
| github.com/go-jose/go-jose/v3 · go | <= 3.0.5 | no fix yet |
What to do
- Update github.com/go-jose/go-jose/v4 to 4.1.6 or later
- If you use go-jose v3, check for a fixed v3 release and update to it as soon as available
- Until patched, avoid parsing JWKs from untrusted sources
Timeline
- 26 Oct 2026, 22:16 UTCPublicly disclosed
- 26 Oct 2026, 22:16 UTCReported by NVD · NVD
- 26 Oct 2026, 22:19 UTCPicked up by Zero Radar
- 27 Oct 2026, 19:01 UTCGitHub Advisory reported on it · GitHub Advisory
- 27 Oct 2026, 19:01 UTCFixed version published: github.com/go-jose/go-jose/v4 4.1.6 · GitHub Advisory
Sources 2 reports, oldest first
Official vendor, government CERT or advisory database
- CVE-2026-116587NVD · 26 Oct 2026, 22:16 UTC
- Go JOSE: DoS when parsing JWKs that contain RSA keysGitHub Advisory · 27 Oct 2026, 19:01 UTC
Technical details
- ID
- CVE-2026-116587 · GHSA-mgcc-cww5-fp2q
- CVSS
- 7.5 / 10
- EPSS
- 0.4% chance of exploitation within 30 days
- Disclosed
- 26 Oct 2026, 22:16 UTC
- On Zero Radar
- 26 Oct 2026, 22:19 UTC (3 min after disclosure)
- Last change
- 27 Oct 2026, 19:01 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works