GitHub Advisoryadvisory · Go
GHSA-mh63-6h87-95cp jwt-go allows excessive memory allocation during header parsing
HIGH
Official page ↗
- Aliases
- CVE-2025-30204
- Ecosystem
- Go
- Packages
- github.com/golang-jwt/jwt/v5, github.com/golang-jwt/jwt/v4, github.com/golang-jwt/jwt
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-405
- Reviewed
- 2025-03-21
Affected packages
• Go github.com/golang-jwt/jwt/v5: >= 5.0.0-rc.1, < 5.2.2 → fixed in 5.2.2
• Go github.com/golang-jwt/jwt/v4: < 4.5.2 → fixed in 4.5.2
• Go github.com/golang-jwt/jwt: >= 3.2.0, <= 3.2.2 (no fix yet)
Description
Summary
Function `parse.ParseUnverified` currently splits (via a call to strings.Split) its argument (which is untrusted data) on periods.
As a result, in the face of a malicious request whose _Authorization_ header consists of `Bearer ` followed by many period characters, a call to that function incurs allocations to the tune of O(n) bytes (where n stands for the length of the function's argument), with a constant factor of about 16. Relevant weakness: CWE-405: Asymmetric Resource Consumption (Amplification)
Details
See `parse.ParseUnverified`
Impact
Excessive memory allocation
Related
Alias · CVE (1)
- CVE-2025-30204 golang-jwt is a Go implementation of JSON Web Tokens. vulnerability
Weakness · CWE (1)
- CWE-405 Asymmetric Resource Consumption (Amplification) weakness
References
- https://github.com/golang-jwt/jwt/security/advisories/GHSA-mh63-6h87-95cp web
- https://nvd.nist.gov/vuln/detail/CVE-2025-30204 advisory
- https://github.com/golang-jwt/jwt/commit/0951d184286dece21f73c85673fd308786ffe9c3 web
- https://github.com/golang-jwt/jwt/commit/bf316c48137a1212f8d0af9288cc9ce8e59f1afb web
- https://github.com/golang-jwt/jwt package
- https://security.netapp.com/advisory/ntap-20250404-0002 web