GitHub Advisoryadvisory · Go

GHSA-c6gw-w398-hv78 DoS in go-jose Parsing

MEDIUM Published 2025-02-24 Modified 2025-02-26 Official page ↗
Aliases
CVE-2025-27144
Ecosystem
Go
Packages
github.com/go-jose/go-jose/v4, github.com/go-jose/go-jose/v3, github.com/go-jose/go-jose
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weaknesses
CWE-400, CWE-770
Reviewed
2025-02-24

Affected packages

• Go github.com/go-jose/go-jose/v4: < 4.0.5 → fixed in 4.0.5 • Go github.com/go-jose/go-jose/v3: < 3.0.4 → fixed in 3.0.4 • Go github.com/go-jose/go-jose: < 3.0.4 → fixed in 3.0.4

Description

Impact When parsing compact JWS or JWE input, go-jose could use excessive memory. The code used strings.Split(token, ".") to split JWT tokens, which is vulnerable to excessive memory consumption when processing maliciously crafted tokens with a large number of '.' characters. An attacker could exploit this by sending numerous malformed tokens, leading to memory exhaustion and a Denial of Service. Patches Version 4.0.5 fixes this issue Workarounds Applications could pre-validate payloads passed to go-jose do not contain an excessive number of '.' characters. References This is the same sort of issue as in the golang.org/x/oauth2/jws package as CVE-2025-22868 and Go issue https://go.dev/issue/71490.

Related

Alias · CVE (1)

  • CVE-2025-27144 Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web… vulnerability

Weakness · CWE (2)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-770 Allocation of Resources Without Limits or Throttling weakness

References