Quick answers
- Is CVE-2026-89318 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-89318 being exploited in the wild.
- How severe is CVE-2026-89318?
- Informational severity, published 23 October 2026.
- Which products and versions are affected?
- Eclipse KeyPont Gose 0.8.0 through 1.0.0-rc3; Thales Group Gose 0.8.0 through 0.13.0-rc1.
- Is there a fix for CVE-2026-89318?
- Yes: fixed in eclipse-keypont/gose v1.0.0-rc4 and later. Until then: Validate that the decoded initialization vector is exactly 12 bytes before passing a JWE to JweRsaKeyEncryptionDecryptorImpl.Decrypt. Additionally, recover panics at the request boundary to limit the blast radius; however, this does not address the underlying defect.</anigation> <parameter name="timeline">[ { "kind": "disclosed", "at": "2026-09-01", "note": "Advisory published by Nicolas-Peiffer" }, { "kind": "advisory", "at": "2026-10-23", "note": "CVE-2026-89318 published" } ] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-89318 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-89318?
- Check whether you run Eclipse KeyPont Gose or Thales Group 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 and later
Validate that the decoded initialization vector is exactly 12 bytes before passing a JWE to JweRsaKeyEncryptionDecryptorImpl.Decrypt. Additionally, recover panics at the request boundary to limit the blast radius; however, this does not address the underlying defect.</anigation> <parameter name="timeline">[ { "kind": "disclosed", "at": "2026-09-01", "note": "Advisory published by Nicolas-Peiffer" }, { "kind": "advisory", "at": "2026-10-23", "note": "CVE-2026-89318 published" } ]
Technical details
The JweRsaKeyEncryptionDecryptorImpl.Decrypt function passes the JWE's initialization vector directly to Go's cipher.AEAD.Open without validating its length. The Go standard library panics rather than returning an error when a GCM nonce is not exactly NonceSize() bytes (12 bytes), causing the decrypting goroutine to crash. The panic occurs after the content-encryption key is unwrapped but before authentication tag verification, allowing any holder of the recipient's public JWK to trigger it.
Affected products
- Eclipse KeyPont gose 0.8.0 through 1.0.0-rc3
- Thales Group gose 0.8.0 through 0.13.0-rc1