CVE-2026-116587
High · 7.5CVSS
7.5
EPSS
0.4%
Published
Oct 26, 2026
CISA due date
—
Cloudanix analysis
A library used to handle encrypted or signed tokens can be tricked into using up all available processing power when it receives specially crafted data, potentially making services unavailable until fixed.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Parses attacker-controlled RSA modulus and prime values from JWKs without size or consistency bounds before passing them to crypto/rsa.PrivateKey.Validate, enabling cubic CPU consumption on Go 1.24 and later.
Why it matters to the business
Remote unauthenticated attackers can trigger sustained high CPU usage leading to service degradation or outage in any application that accepts JWKs from untrusted sources; the issue is three days old with no known exploitation yet but requires prompt patching.
How an attack unfolds
An attacker crafts a JWK containing oversized or degenerate RSA parameters and supplies it to an application endpoint that parses untrusted JWKs; the library passes the values to PrivateKey.Validate which performs expensive cubic-time operations on Go 1.24+, exhausting CPU resources without authentication.
How to fix it
Upgrade go-jose to version 4.1.6 or later; applications should also validate JWK sources or impose resource limits on JWT/JWK processing until patched.
How to confirm the fix worked
Confirm the go-jose package version is at least 4.1.6; test by submitting a crafted large-RSA JWK and verifying that CPU time remains bounded.
Typical attack path
- Identify an application endpoint accepting JWKs from untrusted sources
- Generate a JWK embedding large or malformed RSA modulus/prime values
- Submit the crafted JWK via the normal parsing path
- Observe sustained high CPU consumption on the target process
How to detect it
Review application logs and system metrics for sudden unexplained CPU spikes during JWT or JWK parsing; correlate with incoming requests containing JWK objects; examine process traces for repeated calls to rsa key validation routines.
What your security team should do
- Upgrade all instances of go-jose to 4.1.6 immediately given the three-day publication window
- Inventory services that parse JWKs from external or user-controlled sources
- Add rate limiting and CPU timeouts around JWT/JWK parsing code paths
- Monitor for sudden CPU spikes correlated with JWK ingestion
The record
Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. Prior to 4.1.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62160 Daptin is a GraphQL/JSON-API headless CMS. CWE-407
- CVE-2026-87768 DateTime::Lite versions before 0.8.1 for Perl allow CPU exhaustion via a per-day loop… CWE-407
- CVE-2026-119196 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119194 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119195 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119197 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2019-25781 Python-Markdown 3.0 through 3.11.2 contains an algorithmic complexity vulnerability in… CWE-407
- CVE-2026-118694 python-markdown2 through 2.5.5 contains a denial of service vulnerability that allows… CWE-407