UBUNTU-CVE-2026-116587: High severity ubuntu/golang-gopkg-square-go-jose.v2 vulnerability
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go-joseto a version that resolves this vulnerability.Fixed in 4.1.6
Event History
Frequently Asked Questions
Which deployments are exposed to this denial-of-service condition?
Applications are exposed if they use an affected go-jose version, run on Go 1.24 or later, and parse JWKs obtained from untrusted sources. The affected Ubuntu package names listed are golang-gopkg-square-go-jose.v2, golang-github-go-jose-go-jose, and golang-github-go-jose-go-jose.v3.
What must an attacker do to trigger the issue?
An attacker needs to supply a crafted JWK containing very large or degenerate RSA modulus or prime values. No authentication or user interaction is required according to the supplied vector.
What is the impact of successful exploitation?
Processing the malicious RSA key can cause crypto/rsa.PrivateKey.Validate to consume cubic CPU time on Go 1.24 and later. This can exhaust CPU resources and cause remote denial of service; no confidentiality or integrity impact is indicated.
What version contains the fix?
The issue is fixed in go-jose version 4.1.6.