Skip to main content

Eclipse KeyPont Gose CVE-2026-89319

| EUVDEUVD-2026-108652 MEDIUM
Improper Validation of Array Index (CWE-129)
2026-10-23 eclipse
6.3
CVSS 4.0 · Vendor: eclipse
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Observe one valid JWE
  2. Delivery
    Forge _thales_aad length and reuse constant HMAC tag
  3. Exploit
    Submit to CBC-HMAC direct decryptor
  4. Execution
    Pass integrity check, reach unvalidated length
  5. Impact
    Panic or unbounded allocation (service DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
Exploitation Conditions

Exploitation requires the application to use the AES-CBC-HMAC direct decryption path specifically - NewJweDirectDecryptorBlock / JweDirectDecryptorBlock.Decrypt; the AEAD/GCM path (NewJweDirectDecryptorAeadImpl) carries no _thales_aad length header and is not affected. The attacker must supply a crafted JWE whose forged _thales_aad length field survives the HMAC integrity check. In isolation that check requires the MAC key (hence the scored AC:H), but on every affected release (v0.9.0 through v0.13.0-rc1) the chained GHSA-h6w5-722x-2h3m makes the HMAC tag constant and message-independent, so observing one valid JWE and reusing its tag is sufficient. Limiting factors: only the CBC-HMAC path is exposed; impact is restricted to availability (panic/OOM), no data is disclosed or altered; there is no in-release patch, so remediation requires migrating the module path to github.com/eclipse-keypont/gose v1.0.0-rc1+ (rc4 recommended). Interim workaround per the advisory: avoid NewJweDirectDecryptorBlock in favour of the AEAD/GCM path, and recover panics at the request boundary (this limits panic blast radius but does not address the unbounded allocation).

Impact

This is a medium-severity, availability-only defect (input CVSS 4.0 base 6.3: AV:N/AC:H/AT:N/PR:N/UI:N with VC:N/VI:N/VA:L), not a confidentiality or integrity issue - the advisory explicitly states confidentiality and integrity are unaffected because the failure occurs after decryption but before any plaintext is returned. The vuln.today decision label is 'this_month' rather than act_now/emergency, consistent with a denial-of-service-only impact. No EPSS score and no CISA KEV entry are present in the input, so there is no signal of widespread or confirmed active exploitation; the only exploitation evidence is a reproducer the Eclipse/GHSA advisory reports as executed against an affected build. The AC:H rating reflects the in-isolation precondition of possessing the HMAC MAC key, but the advisory is explicit that this precondition collapses in every affected release: the chained GHSA-h6w5-722x-2h3m makes the HMAC tag constant per key and message-independent, so an attacker who has observed one valid JWE can forge the _thales_aad header and reuse the tag without knowing the key. Net: a genuine, confirmed DoS on the AES-CBC-HMAC direct-decryption path whose real-world attack complexity is lower than the scored AC:H suggests, but whose overall priority is tempered by availability-only impact and a niche affected library.

Exploit ScenarioDerived

An attacker who has observed a single valid JWE forges the _thales_aad protected-header length field and - because the chained GHSA-h6w5-722x-2h3m makes the HMAC tag constant and message-independent - reuses the tag so the integrity check passes. The decryptor then reads an unvalidated 64-bit length and either panics (truncated field or length exceeding the decrypted block) or attempts an allocation up to 2^64-1 bytes, crashing or exhausting the service. The advisory documents an executed reproducer that forges the tag and triggers both the truncated-field and oversized-length failures.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Denial of service in Eclipse KeyPont Gose affects the AES-CBC-HMAC direct decryption path (NewJweDirectDecryptorBlock) in Go module github.com/ThalesGroup/gose v0.9.0 through v0.13.0-rc1: an unvalidated 64-bit plaintext length from the _thales_aad protected header causes a nil dereference, a BigEndian.Uint64 panic on short input, an unbounded allocation, or a slice-bounds panic after the HMAC check. The advisory includes an executed reproducer and notes that the same 11 releases carry GHSA-h6w5-722x-2h3m, whose constant, message-independent HMAC tag lets an attacker who has seen one valid JWE reuse its tag so the length field is reachable without the MAC key; confidentiality and integrity are unaffected. Active exploitation is not confirmed (no CISA KEV data is provided), the advisory contains an executed reproducer for the panic and oversized-length behavior, and the vuln.today priority is this_month.

RemediationAI

Vendor-released patch: migrate to github.com/eclipse-keypont/gose v1.0.0-rc1 or later, with v1.0.0-rc4 recommended because it also resolves seven further findings published alongside this one; no patched release exists on github.com/ThalesGroup/gose, so go get -u will not remediate and the module path must be changed in go.mod, for example from github.com/ThalesGroup/gose v0.13.0-rc1 to github.com/eclipse-keypont/gose v1.0.0-rc4. If migration cannot happen immediately, avoid the AES-CBC-HMAC direct decryption path NewJweDirectDecryptorBlock and use the AEAD/GCM path NewJweDirectDecryptorAeadImpl, which does not carry a _thales_aad length header, and recover panics at the request boundary; panic recovery limits the blast radius of the panic modes but does not address the unbounded allocation, and switching paths also removes exposure to the chained GHSA-h6w5-722x-2h3m. Advisory: https://github.com/eclipse-keypont/gose/security/advisories/GHSA-4gj8-hg2r-gw6q.

Affected VersionsENISA

Eclipse KeyPont - GOSE 0.9.0 ≤0.13.0-rc1
Eclipse KeyPont - GOSE 0 <1.0.0-rc1

Affected Packages

euvd eclipse_keypont_gose fix: 1.0.0-rc1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

JWE compact serialization is used by the library to carry encrypted content; the affected code is the direct AES-CBC-then-HMAC decryptor, which reads a plaintext length from the protected header's _thales_aad field (OtherAad.B) and passes it to binary.BigEndian.Uint64, make, and a slice expression without validating nil, minimum length, or upper bound. CWE-129 (Improper Validation of Array Index) is the root-cause class: the length is trusted before use, so a nil OtherAad dereferences, a field shorter than 8 bytes panics in BigEndian.Uint64, and a value exceeding the decrypted block triggers a slice-bounds panic while a value up to 2^64-1 drives an unbounded allocation. The integrity check that gates the field is HMAC-based; in isolation that would require the MAC key and explains the high attack complexity, but GHSA-h6w5-722x-2h3m in the same releases makes HmacShaCryptor.Hash return HMAC_K of the empty string for all inputs, so the tag is constant per key and message-independent. Only NewJweDirectDecryptorBlock is affected; NewJweDirectDecryptorAeadImpl uses AEAD/GCM and has no _thales_aad length header. The assessed impact is availability-only (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L; input CVSS 4.0 base 6.3), and the feed's Information Disclosure tag is not supported by the advisory's statement that confidentiality and integrity are unaffected.

Know when Eclipse Keypont Gose gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (eclipse) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Network-reachable crafted JWE (AV:N), availability-only panic/OOM (A:L, C:N/I:N); AC:H reflects the in-isolation need for the MAC key, though the chained GHSA collapses it in practice.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 23, 2026 - 10:01 EUVD

DescriptionCVE.org

JweDirectDecryptorBlock.Decrypt read a 64-bit plaintext length from the _thales_aad protected-header field and used it without any validation. A truncated field panics binary.BigEndian.Uint64, an oversized value drives an unbounded allocation, and a value larger than the decrypted block panics with a slice-bounds error.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche Go JWE crypto library, limited production deployment footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy