Skip to main content

Eclipse KeyPont gose CVE-2026-89316

| EUVDEUVD-2026-108648 MEDIUM
Uncaught Exception (CWE-248)
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
    Submit crafted JWK to app key loader
  2. Exploit
    kty=EC paired with non-EC alg (RS256/PS256/RSA-OAEP)
  3. Execution
    LoadPublicKey hits unchecked *ECDSAOptions assertion
  4. Impact
    interface conversion fails and process panics (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
Exploitation Conditions

Exploitation requires a consuming application to pass an externally supplied (attacker-influenced) JWK document directly to the exported LoadPublicKey or LoadPrivateKey - for example a caller-built JWKS loader. The triggering input is a JWK declaring "kty":"EC" together with a non-EC "alg" (RS256, RS384, PS256, RSA-OAEP, or RSA-OAEP-256), which jose.UnmarshalJwk accepts because it selects the Go type from kty alone and the publicKeyAlgs gate is kty-blind. LIMITING FACTORS: the vulnerability is NOT reachable through gose's own JWKS-to-verification path (NewVerificationKey gates EC on alg ∈ {ES256,ES384,ES512}); it needs the non-default integration described above, which is why attack complexity is rated High. No authentication is required on the vulnerable path (CVSS PR:N), and impact is limited to availability (process panic). Documented workarounds: do not forward external JWKs directly to LoadPublicKey/LoadPrivateKey - route through NewVerificationKey, or validate that kty and alg agree (an EC key must carry ES256/ES384/ES512) before loading.

Impact

This is a medium-severity denial-of-service issue (vendor CVSS 4.0 base 6.3), and the signals consistently point to bounded, conditional risk rather than an urgent threat. The CVSS 4.0 vector (AV:N/AC:H/AT:N/PR:N/UI:N) scores availability only (VA:L) with no confidentiality or integrity impact (VC:N/VI:N) - matching CWE-248 (uncaught panic). AC:H is the pivotal metric: the advisory is explicit that no in-tree gose code path routes network-fetched JWK bytes to the sink, because gose's own JWKS-to-verification wiring goes through NewVerificationKey, whose EC branch gates on alg ∈ {ES256,ES384,ES512} and is immune; exploitation requires a consuming application that forwards an externally supplied JWK directly to the exported LoadPublicKey (or LoadPrivateKey). No EPSS score and no KEV listing are provided in the input, and there is no 'confirmed active exploitation' signal. The vuln.today Decision label is 'this_month' (not act_now/emergency), consistent with a real-but-non-emergency defect. The GHSA advisory contains an executed reproducer demonstrating three distinct panic variants (RS256, PS256, RSA-OAEP) with an ES256 control. Net: a genuine library defect worth patching on a routine cycle, but its real-world priority is gated by whether a downstream application actually exposes LoadPublicKey/LoadPrivateKey to attacker-controlled JWK input; against gose's documented verification path it is not reachable.

Exploit ScenarioDerived

An application that uses gose and feeds externally supplied JWK documents (for example a caller-built JWKS loader) directly into the exported LoadPublicKey function receives a JWK of {"kty":"EC","alg":"RS256"} - well-formed per RFC 7517 §4.4. The kty-blind algorithm gate accepts it, the unchecked *ECDSAOptions type assertion fails, and the Go process panics, denying service. A working reproducer covering RS256/PS256/RSA-OAEP panic variants is published in the GHSA advisory.

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 occurs when a JWK declares kty EC with a non-EC alg and is passed directly to the exported LoadPublicKey or LoadPrivateKey loader; an unchecked ECDSAOptions type assertion panics the process. Affected releases are github.com/eclipse-keypont/gose before 1.0.0-rc4 and the deprecated github.com/ThalesGroup/gose path through 0.13.0-rc1, while gose's own NewVerificationKey/JWKS path gates EC algorithms and is not vulnerable. Exploitation is conditional on a consuming application forwarding externally supplied JWKs to those loaders; no CISA KEV listing or verified public exploit code is indicated, the advisory includes a reproducer, and the vendor rates the issue CVSS 4.0 6.3 with high attack complexity and availability-only impact.

RemediationAI

Upgrade to github.com/eclipse-keypont/gose v1.0.0-rc4 or later; this is the vendor-released patched version. Consumers still on github.com/ThalesGroup/gose must change the module path, not only the version, because that path ends at v0.13.0-rc1 and remains vulnerable while carrying a deprecation directive from v0.12.2 onward; go get -u will not remediate it. If upgrading cannot be done immediately, do not pass externally supplied JWK documents directly to LoadPublicKey or LoadPrivateKey. Route verification through NewVerificationKey, which already gates EC algorithms to ES256, ES384 and ES512, or validate that kty and alg agree before loading, ensuring an EC key carries ES256, ES384 or ES512. The advisory with the fix details is at https://github.com/eclipse-keypont/gose/security/advisories/GHSA-fv39-8484-f4wr.

Affected VersionsENISA

Eclipse KeyPont - GOSE 0.7.3 ≤0.13.0-rc1
Eclipse KeyPont - GOSE 0 <1.0.0-rc4

Affected Packages

euvd eclipse_keypont_gose fix: 1.0.0-rc4

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

The affected code is the Go JOSE/JWK handling in Eclipse KeyPont gose. RFC 7517 permits a JWK to carry a kty value and an alg value that do not match, and jose.UnmarshalJwk selects the concrete Go type from kty alone without cross-validating it against alg. In LoadPublicKey's *jose.PublicEcKey branch, the code evaluates algToOptsMap[v.Alg()].(*ECDSAOptions).curve; because the publicKeyAlgs gate accepts RS, PS, ES and RSA-OAEP algorithms regardless of key type, a JWK with kty EC and alg RS256, PS256 or RSA-OAEP reaches the assertion. algToOptsMap maps RS* to crypto.Hash, PS* to *rsa.PSSOptions, and has no RSA-OAEP entry, so the assertion fails and the process panics with a distinct interface-conversion error for each variant. This is CWE-248, an uncaught exception/panic caused by an unchecked type assertion. The advisory states the flaw was fixed in commit 4c6a481, merged as 692c25c, by routing curve lookup through a checked ecdsaCurveForAlg helper; the same unchecked assertion class also existed in LoadPrivateKey. gose's in-tree JWKS-to-verification path uses NewVerificationKey, whose EC branch gates on alg being ES256, ES384 or ES512 before any assertion, so that path is immune. The CPE identifies Eclipse Foundation Eclipse KeyPont gose as the affected product.

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

AC:H because the sink is only reachable when an application forwards an externally supplied JWK to LoadPublicKey (not gose's gated path); PR:N as no auth is needed; impact is availability-only (A:L), no C/I.

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

LoadPublicKey resolved an EC key's curve with an unchecked type assertion, algToOptsMap[alg].(*ECDSAOptions). A JWK declaring "kty":"EC" together with a non-EC "alg" - which RFC 7517 §4.4 permits - reaches that assertion and panics.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche Go JOSE library (eclipse-keypont/gose, formerly ThalesGroup), limited adoption
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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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