GitHub Advisoryadvisory · Go
GHSA-c6gw-w398-hv78 DoS in go-jose Parsing
MEDIUM
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
References
- https://github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-27144 advisory
- https://github.com/golang/go/issues/71490 web
- https://github.com/go-jose/go-jose/commit/99b346cec4e86d102284642c5dcbe9bb0cacfc22 web
- https://github.com/go-jose/go-jose package
- https://github.com/go-jose/go-jose/releases/tag/v4.0.5 web
- https://go.dev/issue/71490 web