Public vulnerability disclosure

CVE-2026-89315

JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix

publishedCWE-248

`JwtClaims.MarshalJSON` built a Go struct at runtime with `reflect.StructOf`, synthesising a field named `"A" + claimName` for each untyped claim. `reflect.StructOf` **panics** when a field name is not a valid Go identifier, or when it duplicates another field. Both conditions are reachable from ordinary JWT claim names.

Technical severity6.9 mediumCVSS 4.0 · CNA: eclipse
Published2026-10-23Source updated 2026-11-02
Collected2026-11-022 attributed sources

Fixes and workarounds

No remediation reported in collected sources.

Missing remediation information is not evidence that no patch exists.

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Eclipse KeyPont - GOSE
Eclipse Foundation
github.com/ThalesGroup/gose
≥ 0.7.3; ≤ 0.13.0-rc1 (affected, semver)
Other versions: unaffected
CNA: eclipse
Eclipse KeyPont - GOSE
Eclipse Foundation
github.com/eclipse-keypont/gose
≥ 0; < 1.0.0-rc4 (affected, semver)
Other versions: unaffected
CNA: eclipse

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

CVSS assessments

CVSS scores, vectors and reporting authorities
Version / scoreVectorAuthority
4.0 / 6.9
medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NCNA: eclipse

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References