CVE-2026-34986: Go JOSE affect by a panic in JWE decryption
Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. Prior to 4.1.4 and 3.0.5, decrypting a JSON Web Encryption (JWE) object will panic if the alg field indicates a key wrapping algorithm (one ending in KW, with the exception of A128GCMKW, A192GCMKW, and A256GCMKW) and the encrypted_key field is empty. The panic happens when cipher.KeyUnwrap() in key_wrap.go attempts to allocate a slice with a zero or negative length based on the length of the encrypted_key. This code path is reachable from ParseEncrypted() / ParseEncryptedJSON() / ParseEncryptedCompact() followed by Decrypt() on the resulting object. Note that the parse functions take a list of accepted key algorithms. If the accepted key algorithms do not include any key wrapping algorithms, parsing will fail and the application will be unaffected. This panic is also reachable by calling cipher.KeyUnwrap() directly with any ciphertext parameter less than 16 bytes long, but calling this function directly is less common. Panics can lead to denial of service. This vulnerability is fixed in 4.1.4 and 3.0.5.
Security readout for executives and security teams
Plain-English summary
CVE-2026-34986 is a denial-of-service issue in go-jose. A malformed encrypted token can make vulnerable Go applications panic during JWE decryption, potentially interrupting authentication or token-processing services. The issue is fixed in go-jose 4.1.4 and 3.0.5.
Executive priority
Prioritize patching internet-facing authentication, API gateway, and token-processing services. This is not a data theft finding from the provided evidence, but service interruption risk is credible and patch versions are available.
Technical view
Before go-jose 4.1.4 and 3.0.5, JWE decryption can panic when alg selects certain KW key-wrapping algorithms and encrypted_key is empty. The path is ParseEncrypted, ParseEncryptedJSON, or ParseEncryptedCompact followed by Decrypt. Direct cipher.KeyUnwrap calls with ciphertext under 16 bytes are also affected.
Likely exposure
Exposure is likely in Go services using go-jose versions >=4.0.0 before 4.1.4 or v3 before 3.0.5, especially where untrusted JWE input is decrypted and accepted algorithms include vulnerable KW algorithms.
Exploitation context
Sources describe a network-reachable, unauthenticated availability impact with low attack complexity. The bundle does not show CISA KEV listing or cited evidence of active exploitation, so active exploitation should not be assumed.
Researcher notes
The affected condition depends on algorithm allowlists. If accepted key algorithms exclude vulnerable key-wrapping algorithms, parsing fails before the panic path. A128GCMKW, A192GCMKW, and A256GCMKW are noted exceptions in the source bundle.
Mitigation direction
Upgrade go-jose v4 to 4.1.4 or later.
Upgrade go-jose v3 to 3.0.5 or later.
Apply relevant Red Hat errata where go-jose is packaged downstream.
Remove KW algorithms from accepted JWE parse lists if not required.
Review vendor guidance for any product-specific fixes or mitigations.
Validation and detection
Check go.mod, go.sum, SBOMs, and vendored code for go-jose versions.
Inspect JWE parsing code for accepted KW key-wrapping algorithms.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-131: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-131 · source CWE mapping
Incorrect Calculation of Buffer Size
Incorrect Calculation of Buffer Size represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Uncaught Exception represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.