CVE-2026-34986 Go JOSE affect by a panic in JWE decryption

High 7.5 Published Updated

An attacker can cause a denial of service by sending a malformed JWE object with an empty encrypted key, triggering a panic in the Go JOSE library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-34986?

CVE-2026-34986 is a high-severity denial of service vulnerability in go-jose, published on 6 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-131, CWE-248

Which versions are affected by CVE-2026-34986?

8 open source packages ship an affected version, including github.com/go-jose/go-jose/v3, github.com/go-jose/go-jose and github.com/go-jose/go-jose/v4. It affects 1 product.

PackageAffectedFixed in
github.com/go-jose/go-jose/v3 GoAll versions3.0.5
github.com/go-jose/go-jose/v3 GoAll versions3.0.5
github.com/go-jose/go-jose/v3 GoAll versions3.0.5
github.com/go-jose/go-jose GoAll versions to 2.6.3None
github.com/go-jose/go-jose GoAll versions to 2.6.3None
github.com/go-jose/go-jose/v4 GoAll versions4.1.4
2 more packages
github.com/go-jose/go-jose/v4 GoAll versions4.1.4
github.com/go-jose/go-jose/v4 GoAll versions4.1.4
Linux distribution packages (32)
buildah AlmaLinux:9All versions2:1.41.8-3.el9_7
buildah AlmaLinux:9All versions2:1.43.1-1.el9_8
buildah-tests AlmaLinux:9All versions2:1.41.8-3.el9_7
buildah-tests AlmaLinux:9All versions2:1.43.1-1.el9_8
podman AlmaLinux:9All versions6:5.8.2-1.el9_8
podman-docker AlmaLinux:9All versions6:5.8.2-1.el9_8
podman-plugins AlmaLinux:9All versions6:5.8.2-1.el9_8
podman-remote AlmaLinux:9All versions6:5.8.2-1.el9_8
podman-tests AlmaLinux:9All versions6:5.8.2-1.el9_8
buildah Red Hat:enterprise_linux:9::appstreamAll versions2:1.41.8-3.el9_7
buildah Red Hat:enterprise_linux:9::appstreamAll versions2:1.43.1-1.el9_8
buildah-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions2:1.41.8-3.el9_7
buildah-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions2:1.43.1-1.el9_8
buildah-debugsource Red Hat:enterprise_linux:9::appstreamAll versions2:1.41.8-3.el9_7
buildah-debugsource Red Hat:enterprise_linux:9::appstreamAll versions2:1.43.1-1.el9_8
buildah-tests Red Hat:enterprise_linux:9::appstreamAll versions2:1.41.8-3.el9_7
buildah-tests Red Hat:enterprise_linux:9::appstreamAll versions2:1.43.1-1.el9_8
buildah-tests-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions2:1.41.8-3.el9_7
buildah-tests-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions2:1.43.1-1.el9_8
podman Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-debugsource Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-docker Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-plugins Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-plugins-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-remote Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-remote-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-tests Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
podman-tests-debuginfo Red Hat:enterprise_linux:9::appstreamAll versions6:5.8.2-1.el9_8
osbuild-composer Red Hat:rhel_e4s:9.4::appstreamAll versions0:101.3-4.el9_4.2
osbuild-composer-core Red Hat:rhel_e4s:9.4::appstreamAll versions0:101.3-4.el9_4.2
osbuild-composer-core-debuginfo Red Hat:rhel_e4s:9.4::appstreamAll versions0:101.3-4.el9_4.2

Products include Go-Jose Project Go-Jose.

How do I fix CVE-2026-34986?

Upgrade github.com/go-jose/go-jose/v3 to 3.0.5 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-34986 being exploited?

There is no known exploitation of CVE-2026-34986 in the wild and no public exploit code.

Sources

Also known as ALSA-2026:10135, ALSA-2026:19173, ALSA-2026:19186, CLEANSTART-2026-AW40573, CLEANSTART-2026-EI91095, CLEANSTART-2026-FW04887 and 427 more.

Is CVE-2026-34986 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free