CVE-2026-34986
CVE-2026-34986 is a high-severity vulnerability in Go-jose Project Go-jose with a CVSS 3.x base score of 7.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-248.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- EPSS exploit prediction: 1% (47th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-19363
- Weakness: CWE-248
- Affected product: Go-jose Project Go-jose
- Published:
- Last modified:
Description
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.
Frequently asked questions
- What is CVE-2026-34986?
- 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.
- How severe is CVE-2026-34986?
- CVE-2026-34986 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity none, and availability high.
- Is CVE-2026-34986 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (47th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-34986?
- CVE-2026-34986 affects Go-jose Project Go-jose. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-34986?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2026-34986 have an EU (EUVD) identifier?
- Yes. CVE-2026-34986 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-19363.
- When was CVE-2026-34986 published?
- CVE-2026-34986 was published on 2026-04-06 and last updated on 2026-07-08.
References
- https://github.com/go-jose/go-jose/security/advisories/GHSA-78h2-9frx-2jm8
- https://pkg.go.dev/github.com/go-jose/go-jose/v4#pkg-constants
- https://access.redhat.com/errata/RHSA-2026:10125
- https://access.redhat.com/errata/RHSA-2026:10130
- https://access.redhat.com/errata/RHSA-2026:10135
- https://access.redhat.com/errata/RHSA-2026:10175
- https://access.redhat.com/errata/RHSA-2026:11070
- https://access.redhat.com/errata/RHSA-2026:11217
- https://access.redhat.com/errata/RHSA-2026:11512
- https://access.redhat.com/errata/RHSA-2026:11688
- https://access.redhat.com/errata/RHSA-2026:11856
- https://access.redhat.com/errata/RHSA-2026:11916
- https://access.redhat.com/errata/RHSA-2026:11996
- https://access.redhat.com/errata/RHSA-2026:12116
- https://access.redhat.com/errata/RHSA-2026:12277
- https://access.redhat.com/errata/RHSA-2026:12279
- https://access.redhat.com/errata/RHSA-2026:13791
- https://access.redhat.com/errata/RHSA-2026:13829
- https://access.redhat.com/errata/RHSA-2026:16696
- https://access.redhat.com/errata/RHSA-2026:17040
- https://access.redhat.com/errata/RHSA-2026:17121
- https://access.redhat.com/errata/RHSA-2026:17123
- https://access.redhat.com/errata/RHSA-2026:17287
- https://access.redhat.com/errata/RHSA-2026:17448
- https://access.redhat.com/errata/RHSA-2026:17458
- https://access.redhat.com/errata/RHSA-2026:17459
- https://access.redhat.com/errata/RHSA-2026:17468
- https://access.redhat.com/errata/RHSA-2026:17474
- https://access.redhat.com/errata/RHSA-2026:17547
- https://access.redhat.com/errata/RHSA-2026:17550
Affected products (1)
- cpe:2.3:a:go-jose_project:go-jose:*:*:*:*:*:*:*:*
More vulnerabilities in Go-jose Project Go-jose
- CVE-2016-9121 — Critical (CVSS 9.1): go-jose before 1.0.4 suffers from an invalid curve attack for the ECDH-ES algorithm. When deriving a shared key using…
- CVE-2016-9123 — High (CVSS 7.5): go-jose before 1.0.5 suffers from a CBC-HMAC integer overflow on 32-bit architectures. An integer overflow could lead…
- CVE-2016-9122 — High (CVSS 7.5): go-jose before 1.0.4 suffers from multiple signatures exploitation. The go-jose library supports messages with multiple…
- CVE-2024-28180 — Medium (CVSS 4.3): Package jose aims to provide an implementation of the Javascript Object Signing and Encryption set of standards. An…
All CVEs affecting Go-jose Project Go-jose →
Other CWE-248 vulnerabilities
- CVE-2018-11466 — Critical (CVSS 9.8): A vulnerability has been identified in SINUMERIK 808D V4.7 (All versions), SINUMERIK 808D V4.8 (All versions),…
- CVE-2024-42037 — Critical (CVSS 9.3): Vulnerability of uncaught exceptions in the Graphics module Impact: Successful exploitation of this vulnerability may…
- CVE-2025-53620 — Critical (CVSS 9.2): @builder.io/qwik-city is the meta-framework for Qwik. When a Qwik Server Action QRL is executed it dynamically load the…
- CVE-2026-46689 — High (CVSS 8.7): Kanidm is an identity management platform. Prior to version 1.9.3, a single unauthenticated GET to any /scim/v1/...…
- CVE-2026-9509 — High (CVSS 8.7): An unhandled exception in Suprema BioStar 2 (Server), versions 2.9.8, 2.9.10, and 2.9.11, that allows an…
- CVE-2025-9124 — High (CVSS 8.7): A denial-of-service security issue in the affected product. The security issue stems from a fault occurring when a…