# CVE-2026-89314: Eclipse KeyPont gose quadratic time key_ops validation DoS

Source: https://junglewise.ai/threats/cve-2026-89314-jwkfields-checkconsistency-detected-duplicate-key-ops-entries  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-23. Updated: 2026-10-23  
License: CC BY 4.0 with a link back

CVE-2026-89314 · Severity: info · Published 2026-10-23

Eclipse KeyPont's gose library validates JSON Web Key Sets (JWKS) used for cryptographic key management. An attacker who controls or influences the JWKS endpoint can craft a malicious document that forces a CPU core to perform redundant validation work, consuming processor resources for 15+ seconds. This could prevent legitimate authentication and API operations by starving server resources.

Technologies: [Eclipse KeyPont Gose](https://junglewise.ai/threats/technologies/eclipse-keypont-gose), [Thalesgroup Gose](https://junglewise.ai/threats/technologies/thalesgroup-gose). Vendors: [Eclipse KeyPont](https://junglewise.ai/threats/vendors/eclipse-keypont), [Thalesgroup](https://junglewise.ai/threats/vendors/thalesgroup).

## Quick answers

**Is CVE-2026-89314 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-89314 being exploited in the wild.

**How severe is CVE-2026-89314?** Informational severity, published 23 October 2026.

**Which products and versions are affected?** Eclipse KeyPont Gose < 1.0.0-rc4; Thalesgroup Gose >= 0.7.3, <= 0.13.0-rc1.

**Is there a fix for CVE-2026-89314?** Yes: fixed in eclipse-keypont/gose v1.0.0-rc4 or later. Until then: Fetch JWKS documents only from trusted, pinned endpoints and impose a size limit on the response body before handing it to gose. Additionally, consider implementing per-request timeouts on JWKS validation operations.</anigation>
<parameter name="timeline">[
  {
    "kind": "disclosed",
    "at": "2026-09-01",
    "note": "GHSA-r56w-f43c-828p published"
  },
  {
    "kind": "advisory",
    "at": "2026-10-23",
    "note": "CVE-2026-89314 published"
  }
] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-89314 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-89314?** Check whether you run Eclipse KeyPont Gose or Thalesgroup Gose 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

- Fixed in eclipse-keypont/gose v1.0.0-rc4 or later

Fetch JWKS documents only from trusted, pinned endpoints and impose a size limit on the response body before handing it to gose. Additionally, consider implementing per-request timeouts on JWKS validation operations.</anigation>
<parameter name="timeline">[
  {
    "kind": "disclosed",
    "at": "2026-09-01",
    "note": "GHSA-r56w-f43c-828p published"
  },
  {
    "kind": "advisory",
    "at": "2026-10-23",
    "note": "CVE-2026-89314 published"
  }
]

## Technical details

The jwkFields.CheckConsistency function uses a pairwise nested loop to detect duplicate key_ops entries, resulting in O(n²) validation cost. An attacker provides a JWKS with thousands of distinct but invalid key_ops entries (under 1 MB total size) to exhaust CPU. The vulnerability requires the consumer to fetch JWKS from an attacker-controlled or misconfigured endpoint; it is not remotely exploitable against correctly configured deployments using a trusted identity provider.

## Affected products

- ThalesGroup gose >= 0.7.3, <= 0.13.0-rc1
- Eclipse KeyPont gose < 1.0.0-rc4

## References

- [https://github.com/eclipse-keypont/gose/security/advisories/GHSA-r56w-f43c-828p](https://github.com/eclipse-keypont/gose/security/advisories/GHSA-r56w-f43c-828p)

## Related threats

- [gose HmacShaCryptor.Hash cryptographic bypass in AES-CBC-HMAC JWE](https://junglewise.ai/threats/cve-2026-89320-hmacshacryptor-hash-never-hashed-its-input-for-any-input-it)
- [Thales gose JweDirectDecryptorBlock unchecked length header](https://junglewise.ai/threats/cve-2026-89319-jwedirectdecryptorblock-decrypt-read-a-64-bit-plaintext-length)
- [gose JweRsaKeyEncryptionDecryptorImpl panic on invalid IV length](https://junglewise.ai/threats/cve-2026-89318-jwersakeyencryptiondecryptorimpl-decrypt-passed-the-jwe-s)
- [gose JWS critical header bypass in JWT verification](https://junglewise.ai/threats/cve-2026-89317-gose-parsed-the-jws-crit-header-into-jwsheader-crit-and-then)
- [gose JwtClaims.MarshalJSON panic in reflect.StructOf](https://junglewise.ai/threats/cve-2026-89315-jwtclaims-marshaljson-built-a-go-struct-at-runtime-with-reflect)
