medium6.9
CVE-2025-27144
DoS in go-jose Parsing
Impact
### 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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | github.com/go-jose/go-jose/v4 | < 4.0.5 | 4.0.5 |
| go | github.com/go-jose/go-jose/v3 | < 3.0.4 | 3.0.4 |
| go | github.com/go-jose/go-jose | < 3.0.4 | 3.0.4 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/go-jose/go-jose/commit/99b346cec4e86d102284642c5dcbe9bb0cacfc22
- https://github.com/go-jose/go-jose/releases/tag/v4.0.5
- https://github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78
- https://github.com/advisories/GHSA-c6gw-w398-hv78
- https://github.com/golang/go/issues/71490
- https://go.dev/issue/71490
- https://nvd.nist.gov/vuln/detail/CVE-2025-27144