Medium severity · published Oct 23, 2026
CVE-2026-89317
JwtVerifierImpl.Verify does not enforce the JWS `crit` header (RFC 7515 §4.1.11)
New
6.3
CVSS
0.1%
EPSS
No
On KEV
Description
gose parsed the JWS `crit` header into `JwsHeader.Crit` and then never read it. RFC 7515 §4.1.11 requires a recipient to reject a JWS whose listed critical extension parameters it does not understand. gose implements no header extensions, so every token carrying a non-empty `crit` should have been rejected — and none were.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.1% · higher than 4% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EK
Eclipse KeyPont - GOSE · Eclipse Foundation
0.7.3 through 0.13.0-rc1; before 1.0.0-rc4 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-89317
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-89317
github.com
https://github.com/eclipse-keypont/gose/security/advisories/GHSA-445r-fpvv-hgwc
More from Eclipse KeyPont - GOSE
8.8
CVE-2026-89320
HmacShaCryptor.Hash never hashes its input — returns constant HMAC_K("") for all inputs, voiding CBC-HMAC JWE integrity
6.9
CVE-2026-89318
JweRsaKeyEncryptionDecryptorImpl.Decrypt panics on attacker-chosen IV length (stdlib GCM.Open reached without nonce-size check)
6.9
CVE-2026-89315
JwtClaims.MarshalJSON panics via reflect.StructOf when any untyped claim key is not a valid Go identifier suffix
6.9
CVE-2026-89314
Quadratic-time key_ops duplicate check lets a sub-1 MB JWKS body pin a CPU core for ~15 s
6.9
CVE-2026-89312
AesGcmCryptor.Open passes attacker-controlled nonce to cipher.AEAD.Open without length check, causing panic on wrong-size IV
