CVE-2025-30204CWE-405

jwt-go allows excessive memory allocation during header parsing

High · published March 21, 2025

CVSS v3.1
7.5
EPSS
1%
Percentile
54.4
In the wild
Unconfirmed
What it is

golang-jwt is a Go implementation of JSON Web Tokens. Starting in version 3.2.0 and prior to versions 5.2.2 and 4.5.2, the function parse.ParseUnverified 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. This issue is fixed in 5.2.2 and 4.5.2.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00750 · 54.4th percentile
Weakness
CWE-405 · Asymmetric Resource Consumption (Amplification)
Published
2025-03-21T21:42Z
EPSS history
Timeline
  • 21 MAR 21:42Z
    jwt-go allows excessive memory allocation during header parsing
    cvelistv5